Repository navigation
Conversation
Firefox and WebKit tests are flakier than Chromium tests. Chromium doesn't retry, so flakes caused by the grid itself still fail there. On GitHub Actions, the job summary lists tests that passed on retry. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Firefox and WebKit tests are flakier than Chromium tests. One example is the WebKit
locator.clicktimeout on the focus click in thebeforeEachoftest/setupBrowser.ts, which failed 2 of 5 localvp run ciruns in one session and has never reproduced on a rerun. The Firefox and WebKit instances now setretry: 1, so a failed test runs once more,beforeEachandafterEachincluded.github-actionsreporter, whose job summary lists the tests that passed on retry ("passed on retry 1 out of 1"). Vite Task passesGITHUB_*variables to tasks by default. Locally,--reporter=verbosemarks them(retry x1), while the default reporter doesn't show them.--retry=0doesn't override an instance'sretry, as project options take precedence over CLI options.AGENTS.mdnow mentions this and--reporter=verbose.I checked the config with a temporary test that fails only on its first attempt: it failed in Chromium and passed on retry in Firefox and WebKit, with and without
--retry=0.vp run cipasses.Production React builds
I also measured whether React's production build would make Firefox and WebKit faster. It wouldn't. Results for the whole suite, using the production build with a
page.renderthat renders influshSync, since production React has noact:The tests mostly wait on Playwright actions and polling rather than on rendering, and the difference in Firefox's wall time is noise. The production build would also need a separate Vitest project, since browser instances share their parent's Vite config, plus a replacement for
page.render, and it would hide React's development warnings in those browsers.Firefox takes the longest for another reason: Vitest 5 runs projects that set
fileParallelism: falsein a group of their own, after all the other projects. Firefox therefore only starts once Chromium and WebKit are done, about 18 s into a 64 s run. Firefox with file parallelism still fails 7–8 tests per run, mostly mouse drags and focus checks, and several serial Firefox instances, each running part of the files, just run one after the other.All timings are from local runs on Windows.
🤖 Generated with Claude Code