Skip to content

End-to-end tests run in Chromium only #808

Closed

Description

@huzaifaalmesbah

#550's browser criterion is unchecked because tests/e2e/playwright.config.js defines only chromium and chromium-multisite, and CI installs only Chromium, so a Firefox or Safari regression in the admin bar, the post-lock notice or the stale-screen banner would ship unseen.

Playwright already bundles Firefox and WebKit, so this is mostly config, but each browser adds a full e2e run to CI, which already takes several minutes (#593).

Tasks

  • firefox and webkit projects in playwright.config.js, beside chromium
  • Install those browsers in .github/workflows/e2e.yml and add them to the job's matrix.project
  • Decide when they run: on every pull request, or only on main and a schedule to keep pull request CI fast
  • Fix or mark any spec that fails only in one browser, with the reason

Part of #550.

Activity

  1. added
    [Type] EnhancementA suggestion for improvement of an existing feature
    javascriptPull requests that update javascript code
    on Oct 9, 2026
  2. added this to the Future Release milestone on Oct 9, 2026
  3. added
    Needs ReplySomeone outside the maintainers has waited over 48 hours for an answer
    on Oct 11, 2026
  4. i-am-chitti commented on Oct 12, 2026

    @i-am-chitti
    Collaborator

    I was thinking to pick it up. Chromium already runs the full suite on every PR. Running all of it again in Firefox and WebKit would mostly re-test PHP through a different browser, since most of our specs check REST, Heartbeat payloads and list tables. The parts that could really break in one browser and not another are narrow: tab coalescing (Web Locks and BroadcastChannel), leader election on visibilitychange, and the admin bar CSS.

    So I'd suggest doing it the way Gutenberg does:

    • Add firefox and webkit projects that only run specs tagged @firefox / @webkit
    • Tag the specs that cover that code: presence-tab-coalescing, presence-stale-screen-coalescing, presence-active-posts-coalescing, presence-visibility and presence-admin-bar-contrast
    • Install the extra browsers in e2e.yml, with the browser in the cache key so jobs don't restore each other's caches
    • Do a manual pass in Safari, Firefox and Edge and record it on 📌 Tracking: Presence API path to Core #550, since that's what the merge criterion actually asks for

    That keeps PR CI close to what it is now, so they can run on every PR rather than on a schedule.

    @josephfusco What do you think?

  5. removed
    Needs ReplySomeone outside the maintainers has waited over 48 hours for an answer
    on Oct 12, 2026
  6. josephfusco commented on Oct 12, 2026

    @josephfusco
    Collaborator

    Sounds good, it's yours. The manual Safari, Firefox and Edge pass recorded on #550 covers the merge criterion.

  7. modified the milestones: n.e.x.t, 0.18.2 on Oct 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

[Area] InfrastructureIssues for the repository infrastructure[Type] EnhancementA suggestion for improvement of an existing featurejavascriptPull requests that update javascript code

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions