devops(ci): fix the upstream report upload and move off Node 20 - #7
Merged
Merged
Conversation
The playwright-cli watch failed on 2026-09-21 and 2026-09-28 in the pull-request job: "Artifact not found for name: playwright-cli-report". upload-artifact@v4 defaults to include-hidden-files: false, the report lives in .roll/, so the track job logged "No files were found" and, with if-no-files-found: ignore, carried on green. The branch got pushed and tested, but no pull request was ever opened. The patchright-core roll has the same step and would have failed the same way on its first automatic roll; the online selftest uploads .patchright-cli/ and never had screenshots for the same reason. Upload hidden files in all three, and fail the upload itself when the upstream report is missing, since the pull-request job depends on it.
Node 20 reached end of life in April 2026, and every run warned that checkout, setup-node, upload-artifact and download-artifact v4 target Node 20 and are being forced onto Node 24. - CI matrix: Node 22 and 24, the two supported LTS lines; macOS keeps skipping the floor version, as it did with 20. - The floor follows what CI tests: engines >=22, README, the skill and the esbuild target. - checkout v7, setup-node v7, upload-artifact v7, download-artifact v8. Their breaking changes do not touch us: checkout keeps the token in a separate file but git push still uses it, setup-node's automatic cache is moot with an explicit `cache: npm`, and the artifacts are still zipped, so the download digest check and unzip behave as before.
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.
The weekly playwright-cli watch failed in run 36435694536 (and the same way in run 35604583489): the
pull-requestjob died onArtifact not found for name: playwright-cli-report.Cause
actions/upload-artifact@v4defaults toinclude-hidden-files: false, and the report lives in.roll/. Thetrackjob loggedNo files were found with the provided path: .roll/. No artifacts will be uploaded.and, because the step hadif-no-files-found: ignore, still finished green. The branchtrack-playwright-cli_74354ecwas pushed and the CI matrix passed on it, but no pull request was ever opened.Fix
upstream-playwright-cli.yml,upstream-roll.yml:include-hidden-files: true, andif-no-files-found: errorso a missing report fails the step that should have produced it instead of the job downstream.upstream-roll.ymlhad the same bug. It never fired because 1.63.0 was rolled by hand (chore: roll patchright-core to 1.63.0 #5) and nothing newer is on npm yet, but it would have failed the first automatic roll the same way.stealth-online.ymluploads.patchright-cli/, also a dot directory, so its screenshots were never uploaded either.What the watch found upstream (655530f -> b85c7a7, playwright-cli 0.1.20-0.1.22)
Verdict review:
tests/integration/core.spec.tsis unchanged upstream; only files we rewrote moved (README, release skill, package.json). Every new feature comes from playwright-core1.64.0-alpha:webmcp-list/webmcp-call,open --idle-timeoutwith a 1 h default for headless sessions,set-color-scheme/set-mediaand the other emulation commands,video-start --fps/--cursor,find --filename. None of that reaches us until patchright-core 1.64.0 is out (the latest is 1.63.0), so there is nothing to port now. After merging this, a manual run of the watch opens the bookkeeping PR forb85c7a7.Verification of the current main (patchright-core 1.63.0)
npm run check: clean, no driftnpm run upstream:verify: patchright-core 1.63.0 = Playwright v1.63.0 client,vendor/pristinenpm teston Windows with real Chrome: 146 passed (unit, integration, stealth)taskkillcall now haswindowsHide: true, matching the removal of the console-flash paragraph in chore: roll patchright-core to 1.63.0 #5Second commit: off Node 20
Node 20 reached end of life in April 2026, and every run warned that the
@v4actions target Node 20 and are forced onto Node 24.engines>=22, README, the skill and the esbuild target.checkoutv7,setup-nodev7,upload-artifactv7,download-artifactv8, all on Node 24. Their breaking changes do not touch us: checkout keeps the token in a separate file butgit pushstill uses it, setup-node's automatic cache is moot with an explicitcache: npm, and the artifacts are still zipped, so the download digest check and unzip behave as before.Locally:
npm run checkclean, 120 unit tests passed on Node 24.🤖 Generated with Claude Code