Skip to content

ci/cypress: run e2e suite across chrome and firefox via matrix#2607

Open
HughParry wants to merge 17 commits into
mainfrom
ci/cypress-firefox-matrix
Open

ci/cypress: run e2e suite across chrome and firefox via matrix#2607
HughParry wants to merge 17 commits into
mainfrom
ci/cypress-firefox-matrix

Conversation

@HughParry

Copy link
Copy Markdown
Contributor

Summary

  • Adds Firefox alongside Chrome in cypress.yml as a parallel matrix job (fail-fast: false); CYPRESS_BROWSER env drives the new --browser ${CYPRESS_BROWSER:-chrome} switch in the cypress-shared npm scripts.
  • Introduces a realClickCompat child command — uses cypress-real-events's .realClick() on Chromium-family browsers, falls back to a mousedownmouseupclick trigger chain on Firefox (no CDP support there). All 9 existing .realClick() call sites now use the wrapper.
  • Each of the 4 cypress.*.config.js files now sets security.enterprise_roots.enabled = true via before:browser:launch on Firefox so the OS trust store (populated by install_cert.sh + update-ca-certificates) is honoured.
  • Artifact upload names suffixed with -${{ matrix.browser }} so chrome/firefox screenshots and videos don't collide.

Test plan

  • Chrome matrix leg of the cypress workflow passes (regression check).
  • Firefox matrix leg of the cypress workflow passes — surfaces any issues with the synthetic event fallback or the cert trust prefs.
  • If Firefox fails on cert validation, extend install_cert.sh to also add the cert to a Firefox profile via certutil (followup).
  • If the procaptcha widget rejects synthetic events on Firefox (untrusted event flag), reconsider the fallback strategy (followup).
  • Frictionless config on Firefox is expected to fall through to image because the bot detection will flag the Firefox+automation profile — that's intentional, the tests already cope.

🤖 Generated with Claude Code

forgetso and others added 17 commits May 22, 2026 14:43
… frictionless refactor (#2576)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: prosoponator[bot] <dev@prosopo.io>
)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… route export (#2584)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: prosoponator[bot] <dev@prosopo.io>
…ies (#2587)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…heck (#2588)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…uestedAtTimestamp (#2589)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… entries (#2590)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…less auto-ban (#2592)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…rify (#2593)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…sparse indexes (#2594)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: prosoponator[bot] <dev@prosopo.io>
…tage sentinel (#2596)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: prosoponator[bot] <dev@prosopo.io>
Adds Firefox alongside Chrome in the cypress workflow as a parallel matrix
job. cypress-real-events is CDP-only, so a new realClickCompat child
command falls back to a mousedown/mouseup/click trigger chain on Firefox.
Firefox launch prefs enable security.enterprise_roots.enabled so the OS
trust store populated by install_cert.sh is honoured.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants