Skip to content

Upgrade deprecated GitHub Actions to Node.js 24#1704

Open
aka-bo wants to merge 9 commits into
mainfrom
chore/upgrade-deprecated-actions
Open

Upgrade deprecated GitHub Actions to Node.js 24#1704
aka-bo wants to merge 9 commits into
mainfrom
chore/upgrade-deprecated-actions

Conversation

@aka-bo
Copy link
Copy Markdown
Contributor

@aka-bo aka-bo commented May 14, 2026

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 CI run on main (25830823789) flagged this against actions/checkout, and the same older pins exist for several other actions/* 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:

    Action From To
    actions/checkout v4.1.7 v6.0.2
    actions/setup-java v4.7.1 v5.2.0
    actions/cache v4.2.0 v5.0.5
    actions/upload-artifact v4.3.4 v7.0.1
    actions/download-artifact v4.1.8 v8.0.1
    actions/setup-dotnet v4.0.1 v5.2.0
    actions/setup-node v4.0.3 v6.4.0
    actions/setup-python v5.6.0 v6.2.0

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-artifact v5 changed path behavior only for ID-based downloads; all current usage is by name.
  • upload-artifact v7 ESM/direct-upload changes are opt-in via archive: false; existing zip-based usage is unchanged.
  • setup-node v5+ auto-cache only triggers when packageManager is set in package.json, which is not the case here.
  • All other major-version bumps are pure Node 24 runtime changes.

Test plan

  • CI runs (per-language *-ci.yml and *-pr.yml) succeed on this branch
  • Cross-language validation workflow passes
  • No new deprecation warnings in run annotations

🤖 Generated with Claude Code

aka-bo added 9 commits May 14, 2026 11:38
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.
@aka-bo aka-bo marked this pull request as ready for review May 14, 2026 19:26
@aka-bo aka-bo requested a review from sushantmimani May 14, 2026 19:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant