ci: fix Playwright chromium install hang on Node current/lts/*#4445
Conversation
The `playwright install chromium` step was hanging for 1h+ on jobs using Node `current` and `lts/*` after the 163 MiB download completed (post-download extraction/setup blocked indefinitely).
Fixes:
- Add `timeout-minutes: 5` to fail fast instead of burning a runner for 6 hours
- Add `--with-deps` to install required system libraries (likely cause of the hang)
- Cache Playwright browser binaries via `actions/cache` using `PLAYWRIGHT_BROWSERS_PATH` pointed at `${{ github.workspace }}/.playwright-browsers` (cross-platform)
Older LTS jobs (lts/-1, lts/-2, lts/-3) were unaffected and completed fine.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
💤 Files with no reviewable changes (1)
📝 WalkthroughWalkthroughThe CI workflow's test job updates the node/pnpm version print command and removes the Playwright "Install chromium" step, so the job now proceeds from dependency install/version printing directly to running node tests. ChangesCI workflow test job tweaks
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/ci.yml:
- Line 48: Replace the mutable tag "actions/cache@v4" with a pinned immutable
commit SHA for the actions/cache action; locate the usage string "uses:
actions/cache@v4" in the CI workflow and update it to "uses:
actions/cache@<full-commit-sha>" (obtain the correct commit SHA from the
actions/cache repository) so the workflow references a specific immutable
revision.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 19d34bb3-4d13-4635-b484-fdb5b0c14516
📒 Files selected for processing (1)
.github/workflows/ci.yml
The `Install chromium` step was causing CI to hang indefinitely on Node current/lts/* (and timeout when we added a 5-min limit). Root cause: `test:node` only runs grunt node tests and has no browser dependency, so installing Chromium was never necessary in the first place. Also drops the unused `env: PLAYWRIGHT_BROWSERS_PATH` and `actions/cache` step added in the previous commit.
The
playwright install chromiumstep was hanging for 1h+ on jobs using Nodecurrentandlts/*after the 163 MiB download completed (post-download extraction/setup blocked indefinitely).Fixes:
timeout-minutes: 5to fail fast instead of burning a runner for 6 hours--with-depsto install required system libraries (likely cause of the hang)actions/cacheusingPLAYWRIGHT_BROWSERS_PATHpointed at${{ github.workspace }}/.playwright-browsers(cross-platform)Older LTS jobs (lts/-1, lts/-2, lts/-3) were unaffected and completed fine.
What:
Why:
Checklist:
Summary by CodeRabbit