You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#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
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
Activity
i-am-chitti commentedon Oct 12, 2026
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:
firefoxandwebkitprojects that only run specs tagged@firefox/@webkitpresence-tab-coalescing,presence-stale-screen-coalescing,presence-active-posts-coalescing,presence-visibilityandpresence-admin-bar-contraste2e.yml, with the browser in the cache key so jobs don't restore each other's cachesThat 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?
josephfusco commentedon Oct 12, 2026
Sounds good, it's yours. The manual Safari, Firefox and Edge pass recorded on #550 covers the merge criterion.