Skip to content

Apply Cuprite process_timeout and timeout to the registered driver - #4222

Merged
jonrohan merged 1 commit into
primer:mainfrom
bensheldon:cuprite-process-timeout
Oct 14, 2026
Merged

jonrohan merged 1 commit into
primer:mainfrom
bensheldon:cuprite-process-timeout

Conversation

@bensheldon

@bensheldon bensheldon commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

#1465 moved process_timeout: 240, timeout: 240 into the driven_by options so they would apply to system tests, but Rails only applies driven_by options to drivers it registers itself (:selenium, :cuprite, :rack_test, :playwright), so they are ignored for the custom-registered :primer_cuprite driver. As a result, Ferrum falls back to its 10-second default, and CI intermittently fails with Ferrum::ProcessTimeoutError: Browser did not produce websocket url within 10 seconds. This moves the options into the :primer_cuprite driver registration so they take effect.

@joelhawksley fyi, ViewComponent’s CI runs Primer’s test suite against every ViewComponent change, so this 10-second browser-startup timeout intermittently fails the “Test compatibility with Primer ViewComponents” check on unrelated ViewComponent PRs.

Copilot AI balanced review requested due to automatic review settings October 12, 2026 14:59
@bensheldon
bensheldon requested a review from a team as a code owner October 12, 2026 14:59
@bensheldon
bensheldon requested a review from joshblack October 12, 2026 14:59
@changeset-bot

changeset-bot Bot commented Oct 12, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 9e99157

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The timeout settings now reach Ferrum through Cuprite’s supported driver configuration path.

0 open findings

What changed in this PR

Moves Cuprite timeout configuration to the custom driver registration so Ferrum receives it correctly.

Changes:

  • Applies 240-second process and command timeouts to :primer_cuprite.
  • Removes ineffective timeout options from driven_by.
File Description
test/​test_helpers/​cuprite_setup.rb Configures Cuprite timeouts during driver registration.
test/​system/​test_case.rb Removes ignored driver options.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@jonrohan jonrohan added the skip changeset Pull requests that don't change the library output label Oct 14, 2026
@jonrohan
jonrohan enabled auto-merge (squash) October 14, 2026 16:17
@jonrohan
jonrohan merged commit 1e47782 into primer:main Oct 14, 2026
32 of 33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip changeset Pull requests that don't change the library output

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants