Repository navigation
feat(ci): check on every pull request that the versions agree, and warn on main about a version without a tag - #432
Merged
Merged
Conversation
Playwright 1.65.1 brings Chromium 159. The prompt of a snippet page installs and runs the same version the CLI is tested with, so PLAYWRIGHT goes from 1.63 to 1.65. Chromium 159 does not register an unload handler unless the page sends Permissions-Policy: unload=(self), and a frame also needs allow="unload" from the page that embeds it. Two tests of Back-Forward-Cache failed because their pages no longer had the handler they test: the fixture sends the header and allows the frame. The snippet does not change: without a handler there is nothing that blocks the bfcache.
…rn on main about a version without a tag The version of each part is written in several files that a release changes by hand, and they were only compared when the tag was pushed, after the merge. npm run check:versions compares cli/server.json, the lockfile, the examples of the JSON output and the feedback template with the version of their part, and CI runs it on every pull request. On a push to main, CI warns when the version of the collection, the CLI or the extension has no tag on the remote. The release of the CLI 1.16.0 was merged and not tagged, so the Copy prompt of the site asked npm for a version that was not there.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This branch was successfully deployed
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.
Stacked on #431.
Summary
The release of the CLI 1.16.0 was merged and its tag was not pushed. For some hours the Copy prompt of every snippet page asked npm for
webperf-snippets@1.16.0, which was not there, and the evals failed on every pull request withETARGET.scripts/release-versions.jsadds two checks:npm run check:versions, on every pull request. The version of each part is written in several files that a release changes by hand. It fails when one of them carries another version:cli/server.json(its version and the one of its package) and theclientry of the lockfile, againstcli/package.jsoncliVersionandcli_versionin the examples ofcli/README.mdandcontent/CLI.mdx, with the linepackage.jsonplaceholderof.github/ISSUE_TEMPLATE/extension-feedback.yml, againstextension/manifest.jsoncheck-tag-version.jscompares some of these when the tag is pushed, which is after the merge.A warning on
mainabout a version without a tag. On a push, CI reads the tags of the remote and annotates the run when the version of the collection, the CLI or the extension has none. It does not fail: the tag comes right after the merge.RELEASING.mddescribes both.Test plan
On macOS with Node 26.13.1:
npm run test:ci: 43 of 43, with the 7 new tests. With one comparison disabled in the script, its test failsnpm run check:versionspasses on the repository. Withcli_versionchanged to1.15.0incli/README.md, it exits with 1 and namescli/README.md:194node scripts/release-versions.js --untaggedagainst the remote: every version has its tagnpm run lint, andactionlintin Docker on the workflowsmainonly, so its first run is the merge of this pull request