Gate the Chromium WPT parity legs in CI on Playwright's pinned build - #36
Merged
Merged
Conversation
Adopt the webcrypto sibling's pattern: the parity browser legs always launch Playwright's own Chromium build, pinned by playwright-core's version in the parity lockfile, so losses-chromium.js measures one engine everywhere — local runs and CI alike — and a Chromium behavior shift arrives only with a deliberate playwright bump, never with a runner-image update. run-browser.mjs drops the system-Chrome discovery (findChrome stays with the conformance jco-browser leg, which prefers the runner's Chrome on purpose). The conformance job installs the pinned browser with a cache keyed on the parity lockfile (restore-keys let a bump download only what changed; --with-deps only on a cache miss), and conformance-checks gains the wpt::parity-chromium step. Verified: just wpt::parity-chromium green on the pinned build (Chrome for Testing 151 / chromium-1234) with the same empty loss set; just ci green end to end. Closes #35
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.
Closes #35. Stacked on #34 (the stable ratchet keys and the recorded
losses-chromium.jsthis gate requires); retarget tomainonce #34merges.
Change
Adopts the webcrypto sibling's pattern for browser parity gates:
run-browser.mjsalways launchesPlaywright's own Chromium build (pinned by playwright-core's version
in the parity lockfile) instead of discovering a system Chrome, so
the loss set measures one engine in local runs and CI alike, and a
Chromium behavior shift arrives only with a deliberate playwright
bump — the ratchet-ownership concern from Decide whether the Chromium WPT parity gate enters CI #35.
scripts/chrome.mjsstays with the conformance jco-browser leg, which prefers the
runner's Chrome on purpose.
~/.cache/ms-playwrightkeyed on
js/componentize/wpt/parity/pnpm-lock.yaml(webcrypto'sscheme: restore-keys let a bump download only what changed;
--with-depsruns only on a cache miss) and installs Chromium withnpx playwright-core install.gha::conformance-checksgains thewpt::parity-chromiumstep, keepingjust ciexactly CI.Not ported from webcrypto: the Firefox and WebKit engines and the
shared watchdog page driver — separate work if ever wanted; this repo's
runner has one engine today.
Verification
just wpt::parity-chromiumgreen on the pinned build (Chrome forTesting 151 / playwright chromium-1234), same empty loss set as Shadow location with a fixed stub in every WPT parity leg #34
recorded.
just ci(rust-checks + conformance-checks, including the new step)green end to end.