Upgrade deprecated GitHub Actions to Node.js 24#1704
Open
aka-bo wants to merge 9 commits into
Open
Conversation
ci.yml is workflow_dispatch-only and superseded by the per-language *-ci.yml workflows. draft-release.yml and sync-release.yml are no longer in use. Removing dead workflow code so deprecation audits target only what actually runs.
Older pins ran on Node.js 16 or Node.js 20, which trigger deprecation warnings and will be forced to Node.js 24 by GitHub on 2026-06-02. v6.0.2 runs on Node.js 24.
Older pins ran on Node.js 16/20 which is deprecated and will be forced to Node.js 24 by GitHub on 2026-06-02. v5.2.0 runs on Node.js 24.
Older pins ran on Node.js 16/20 which is deprecated and will be forced to Node.js 24 by GitHub on 2026-06-02. v5.0.5 runs on Node.js 24.
Older pins ran on Node.js 16/20 which is deprecated and will be forced to Node.js 24 by GitHub on 2026-06-02. v7.0.1 runs on Node.js 24. Existing zip-based uploads are unchanged; the new direct-upload path is opt-in via 'archive: false'.
Older pins ran on Node.js 16/20 which is deprecated and will be forced to Node.js 24 by GitHub on 2026-06-02. v8.0.1 runs on Node.js 24 and errors by default on artifact-hash mismatch. All current usage downloads by name, so the v5 path-consistency change for ID-based downloads does not apply.
Older pins ran on Node.js 16/20 which is deprecated and will be forced to Node.js 24 by GitHub on 2026-06-02. v5.2.0 runs on Node.js 24.
Older pins ran on Node.js 16/20 which is deprecated and will be forced to Node.js 24 by GitHub on 2026-06-02. v6.4.0 runs on Node.js 24. The v5+ auto-cache feature only activates when a 'packageManager' field is set in package.json, which is not the case here, so behavior is unchanged.
Older pins ran on Node.js 16/20 which is deprecated and will be forced to Node.js 24 by GitHub on 2026-06-02. v6.2.0 runs on Node.js 24.
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.
Summary
GitHub will force all Node.js 20 actions to Node.js 24 on 2026-06-02 and remove Node.js 20 from runners on 2026-09-16 (changelog). The
[Go] SecureMemory CIrun onmain(25830823789) flagged this againstactions/checkout, and the same older pins exist for several otheractions/*actions across the workflows.This PR:
Removes three unused workflows (
ci.yml,draft-release.yml,sync-release.yml) so deprecation audits target only what runs.Bumps each deprecated
actions/*action to its current Node 24 release. One commit per action for easy review/revert:Already on Node 24 (no change):
actions/setup-go@v6.4.0,golangci/golangci-lint-action@v9.2.0,test-summary/action@v2.6.Breaking-change review
download-artifactv5 changed path behavior only for ID-based downloads; all current usage is byname.upload-artifactv7 ESM/direct-upload changes are opt-in viaarchive: false; existing zip-based usage is unchanged.setup-nodev5+ auto-cache only triggers whenpackageManageris set inpackage.json, which is not the case here.Test plan
*-ci.ymland*-pr.yml) succeed on this branch🤖 Generated with Claude Code