fix(ci): upgrade Playwright to 1.60 to fix Node 24.16 install hang - #174
Merged
Conversation
The release workflow (Node 24) hangs on "Install playwright browsers" while PR tests (Node 22) pass the identical step — the only difference is the Node version. Bump PR tests to Node 24 so the hang reproduces on the cheap PR path, and add DEBUG=pw:install + a step timeout so the run shows where it stalls and fails fast instead of hanging for hours. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Node 24.16.0 introduced an extract-zip/yauzl regression (nodejs/node#63487) that makes `playwright install` hang after the browser download completes, during zip extraction, for Playwright versions before 1.60 (microsoft/playwright#41000, closed as a dup of the Node bug). `setup-node: '24'` now resolves to 24.16.0, which is why the release job (Node 24) hung while PR tests (Node 22) passed the identical step. Upgrade @playwright/test and playwright 1.56.1 -> 1.60.0, the version confirmed to install cleanly on Node 24.16.0. This keeps both workflows on Node 24 (latest) rather than pinning to a frozen 24.15.0 that would miss security updates. 1.60.0 is 34 days old, so `.npmrc` min-release-age accepts it (it correctly skipped the too-new 1.61.0). Full suite (654 tests) passes locally on 1.60.0. Also bumps PR tests to Node 24 so they exercise the same environment as release, and adds a timeout-minutes guard to the browser-install step in both workflows. Co-Authored-By: Claude Opus 4.8 (1M context) <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.
Root cause
Node 24.16.0 introduced an
extract-zip/yauzlregression (nodejs/node#63487) that makesplaywright installhang after the browser download completes, during zip extraction, for Playwright versions before 1.60 (microsoft/playwright#41000, closed as a dup — Playwright treats it as a Node bug, not something they'll keep working around).actions/setup-nodewithnode-version: '24'now resolves to 24.16.0, so the Release job (Node 24) hung while PR Tests (Node 22) passed the identical step. The last green release predated 24.16.0. The earlier.npmrc/npxtheory was a red herring — the direct-binary install hung too.Fix
Upgrade
@playwright/testandplaywright1.56.1 → 1.60.0 — the version confirmed to install cleanly on Node 24.16.0. This keeps both workflows on Node 24 (latest) instead of pinning to a frozen 24.15.0 that would miss security updates..npmrcmin-release-age=7accepts it (it correctly skipped the too-new 1.61.0 published today).Also:
timeout-minutesto the browser-install step in both workflows so any future stall fails fast instead of hanging for hours.Once green + merged, the
v0.2.29tag gets re-pointed to the new head to re-run the release.🤖 Generated with Claude Code