ci: move Actions off the deprecated Node 20 runtime - #600
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reached
Next review available in: 36 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (16)
✨ 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 |
skill-check — worker0 verified, 49 skipped (no docs/).
Four for four. Nicely done. |
Runners now execute node20 actions on Node 24 and warn on every job: "Node 20 is being deprecated. This workflow is running with Node 24 by default." Each action moves to the LOWEST major that declares node24, so this carries no more behavioural change than the runtime demands. actions/checkout v4 -> v5 actions/setup-node v4 -> v5 actions/setup-python v5 -> v6 actions/upload-artifact v4 -> v6 (v5 is still node20) actions/download-artifact v4 -> v7 (v5, v6 still node20) pnpm/action-setup v4 -> v5 softprops/action-gh-release v2 -> v3 actions/create-github-app-token v2 -> v3 docker/setup-qemu-action v3 -> v4 docker/setup-buildx-action v3 -> v4 docker/login-action v3 -> v4 docker/build-push-action v6 -> v7 Unchanged: Swatinem/rust-cache@v2 already declares node24, and dtolnay/rust-toolchain, taiki-e/upload-rust-binary-action and iii-hq/skills-and-validation are composite actions with no Node runtime. The artifact actions skip majors because their v5/v6 release notes claim Node 24 support that action.yml does not actually declare; the versions above were picked by reading `runs.using` at each tag rather than the notes. setup-node v5 additionally starts caching automatically when package.json declares `packageManager`, which this repository's root does (pnpm@11.13.1). Eight steps that never cached would silently begin to, in a repository already over its 10 GiB cache budget, so they pin `package-manager-cache: false` to keep current behaviour. Steps with an explicit `cache:` are untouched. checkout v5, setup-python v6 and the docker bumps require runner v2.327.1+; every job here runs on GitHub-hosted ubuntu-latest or a hosted matrix, all well past that.
d62dadc to
e93a9ea
Compare
Every job currently logs:
The runner already forces Node 24, so this is a warning about actions whose
action.ymlstill declaresnode20. This moves each one to the lowest major that declaresnode24, so the change carries no more behavioural risk than the runtime demands.actions/checkoutactions/setup-nodeactions/setup-pythonactions/upload-artifactactions/download-artifactpnpm/action-setupsoftprops/action-gh-releaseactions/create-github-app-tokendocker/setup-qemu-actiondocker/setup-buildx-actiondocker/login-actiondocker/build-push-actionUnchanged:
Swatinem/rust-cache@v2already declares node24.dtolnay/rust-toolchain,taiki-e/upload-rust-binary-actionandiii-hq/skills-and-validationare composite actions with no Node runtime.Two things worth knowing
The artifact actions skip majors.
upload-artifactv5.0.0 anddownload-artifactv6.0.0 both have release notes announcing Node 24 support, butaction.ymlat those tags still declaresnode20. Versions here were chosen by readingruns.usingat each tag rather than trusting the notes — hence v6 and v7 respectively.setup-nodev5 changes caching semantics. It begins caching automatically whenpackage.jsondeclarespackageManager, and this repository's root declarespnpm@11.13.1. Eight steps that have never cached would silently start — in a repository already over its 10 GiB cache budget (see #599), where added pressure evicts the pinned-engine cache that every PR run depends on. Those eight now pinpackage-manager-cache: falseto preserve today's behaviour:_harness-integration.yml,_publish-registry.yml,ci.yml(×2),release-lsp-vscode.yml(×3),storage-e2e.ymlThe eight steps with an explicit
cache:are untouched. Turning any of them on is a deliberate decision, not a side effect of a runtime bump.Validation
yaml.safe_loadacross.github/workflows/*.yml).uses:in the repository against the GitHub API: no action still resolves to a node20 runtime.setup-nodesteps: the 8 with explicitcache:keep it, the 8 without now carrypackage-manager-cache: false. No step changes caching behaviour.checkoutv5,setup-pythonv6 and the docker bumps require runner ≥ v2.327.1; all jobs run on GitHub-hostedubuntu-latestor a hosted matrix, well past that.Not validated: the release-only paths (
release.yml,release-lsp-vscode.yml, docker publish) can't be exercised from a PR — they run on tag pushes.softprops/action-gh-release@v3anddocker/build-push-action@v7land untested here and are worth watching on the first release after merge.CI-only, so no Linear ticket; labelled
no-ticketperpr-linear-check.yml.