Repository navigation
Move compatibility workflows off Node 20 action pins - #1692
Conversation
Every compatibility workflow still pinned download-artifact v4, setup-node v4 and setup-python v5, which target Node.js 20. GitHub already forces them onto Node 24 with a deprecation warning; once it drops Node 20 action support, every bun, gradle, npm, pdm, pnpm, poetry, sbt and vlt compatibility leg breaks at once. ci.yml moved to newer pins in #1590. Reuse exactly those SHAs (already trusted and running in this repo) so the compatibility workflows match: download-artifact v7.0.0, setup-node v6.4.0, setup-python v6.3.0. Every download here goes by name pattern with merge-multiple, so download-artifact's by-ID extraction change doesn't apply. There's no root package.json, so setup-node's automatic npm cache stays off. release.yml keeps its pins; #1588 leaves that bump for a human. Refs #1588 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Df8ucZKAaQPFLu8QXdBGL2
|
bugbot run Generated by Claude Code |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 8560aa6. Configure here.
|
[burn-down] Labeled
Generated by Claude Code |
|
Labeled Ready for review (burn-down agent).
Generated by Claude Code |
Final review briefWhat it does. Swaps the Node-20-era action pins ( Risk: low. It's YAML only, no new third-party code (the SHAs are byte-identical to ci.yml's), and no Rust changes. Note that all Look here
Verified
Changes I made: none. Open questions: the compat workflows are disabled in Actions settings. Merging is harmless and keeps re-enabling them from starting with a Node 20 break. If they're retired for good, deleting them is the cleaner follow-up (the author's note in the description). Auto-merge is armed, so approving sends it straight to the merge queue. Generated by Claude Code |
Problem
#1588: the 8 package-manager compatibility workflows still pin actions that target Node.js 20:
actions/download-artifact@d3f86a1… # v4actions/setup-node@49933ea… # v4actions/setup-python@a26af69… # v5GitHub currently forces these actions onto Node 24 and logs a deprecation warning. Once it drops Node 20 action support, every bun, gradle, npm, pdm, pnpm, poetry, sbt and vlt compatibility leg fails at the same moment, on PRs, on main pushes and in nightlies. #1590 already moved
ci.ymloff these pins; the compatibility workflows were not part of it.This run found the queue and CI healthy: no queued runs, main green, and both merge-queue evictions in the last 24h were Depot runner losses, already logged on #1660. So this is a priority-4 robustness fix rather than an unblocker.
Fix
Swap each old pin for the exact SHA
ci.ymlalready runs, so this adds no new third-party code to the repo:actions/download-artifact@37930b1… # v7.0.0actions/setup-node@48b55a0… # v6.4.0actions/setup-python@ece7cb0… # v6.3.0Breaking changes checked:
pattern:(withmerge-multiple: trueexcept vlt'svlt-results-*collector, which keeps per-artifact dirs as before), neverartifact-ids.package.jsonhas apackageManagerfield. The repo has no rootpackage.json, and no step passescache:.ci.ymlruns v6.4.0 under the same checkout.ci.yml, which already runs v6.3.0.release.ymlkeeps its v4 pins (3 uses), since #1588/#1590 leave the release workflow for a human call.Proof
git ls-remote): download-artifact v7.0.0 →37930b1c, setup-node v6.4.0 →48b55a01, setup-python v6.3.0 →ece7cb06.release.yml(grep -rnE 'd3f86a1|49933ea|a26af69' .github).actionlintoutput on the 8 files matches main exactly (6 lines, all pre-existing YAML-anchor complaints from actionlint 1.7.7).zizmor --offlinematches main too: 55 findings, all pre-existing, none of them new.*-compatibility.ymlworkflows aredisabled_manuallyin the repo's Actions settings, so this change cannot be exercised until someone re-enables them (aworkflow_dispatchon this branch after re-enabling would do it). The only evidence for the new pins is thatci.ymlruns the same SHAs, on the same runner images, for the same kinds of steps. Required CI on this head is green (ci-ok,clippy, 35 successes, 0 failures).Decision for a maintainer
With the compatibility workflows disabled, this PR only matters if they get turned back on. Either merge it so that re-enabling them doesn't start with a Node 20 break, or close it. If the workflows are retired for good, deleting them is the better cleanup.
No tests were removed or moved.
https://claude.ai/code/session_01Df8ucZKAaQPFLu8QXdBGL2
Generated by Claude Code