Skip to content

devops(ci): fix the upstream report upload and move off Node 20 - #7

Merged
b1zya merged 2 commits into
mainfrom
fix-upstream-report-artifact
Oct 1, 2026
Merged

b1zya merged 2 commits into
mainfrom
fix-upstream-report-artifact

Conversation

@b1zya

@b1zya b1zya commented Oct 1, 2026 •

Copy link
Copy Markdown
Owner

The weekly playwright-cli watch failed in run 36435694536 (and the same way in run 35604583489): the pull-request job died on Artifact not found for name: playwright-cli-report.

Cause

actions/upload-artifact@v4 defaults to include-hidden-files: false, and the report lives in .roll/. The track job logged No files were found with the provided path: .roll/. No artifacts will be uploaded. and, because the step had if-no-files-found: ignore, still finished green. The branch track-playwright-cli_74354ec was 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, and if-no-files-found: error so a missing report fails the step that should have produced it instead of the job downstream.
  • upstream-roll.yml had 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.yml uploads .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.ts is unchanged upstream; only files we rewrote moved (README, release skill, package.json). Every new feature comes from playwright-core 1.64.0-alpha: webmcp-list/webmcp-call, open --idle-timeout with a 1 h default for headless sessions, set-color-scheme/set-media and 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 for b85c7a7.

Verification of the current main (patchright-core 1.63.0)

  • npm run check: clean, no drift
  • npm run upstream:verify: patchright-core 1.63.0 = Playwright v1.63.0 client, vendor/ pristine
  • npm test on Windows with real Chrome: 146 passed (unit, integration, stealth)
  • the taskkill call now has windowsHide: true, matching the removal of the console-flash paragraph in chore: roll patchright-core to 1.63.0 #5

Second commit: off Node 20

Node 20 reached end of life in April 2026, and every run warned that the @v4 actions target Node 20 and are 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, all on Node 24. 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.

Locally: npm run check clean, 120 unit tests passed on Node 24.

🤖 Generated with Claude Code

b1zya added 2 commits October 1, 2026 21:15
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.
@b1zya b1zya changed the title devops(ci): upload the upstream report from the hidden .roll/ directory devops(ci): fix the upstream report upload and move off Node 20 Oct 1, 2026
@b1zya
b1zya merged commit 38f0031 into main Oct 1, 2026
5 checks passed
@b1zya
b1zya deleted the fix-upstream-report-artifact branch October 1, 2026 18:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant