Skip to content

Bump CI actions off deprecated Node.js 20#5421

Merged
rdimitrov merged 2 commits into
mainfrom
coal-cress
Jun 3, 2026
Merged

Bump CI actions off deprecated Node.js 20#5421
rdimitrov merged 2 commits into
mainfrom
coal-cress

Conversation

@rdimitrov
Copy link
Copy Markdown
Member

Summary

GitHub is deprecating the Node.js 20 runtime for JavaScript actions (changelog): it is forced to Node.js 24 on 2026-06-16 and removed from runners on 2026-09-16. This currently surfaces "Node.js 20 actions are deprecated" warnings across nearly every workflow.

This PR bumps every affected action that has a Node.js 24 release to clear the warnings. All bumps are runtime-only major-version changes — verified against upstream release notes that the only breaking change is the Node bump, with no input or behavior changes for how we use them:

  • azure/setup-helm v4.3.1v5.0.0
  • docker/login-action v3.7.0v4.2.0
  • docker/setup-buildx-action v3.12.0v4.1.0
  • docker/metadata-action v5.10.0v6.1.0
  • docker/build-push-action v6.19.2v7.2.0
  • codecov/codecov-action v5v6.0.1 (also resolves its embedded actions/github-script v7v8)
  • slackapi/slack-github-action v2.1.1v3.0.3 (webhook/webhook-type/payload inputs unchanged)

Type of change

  • Dependency update

Test plan

  • Manual testing (describe below)

Workflow-only change with no local entry point, so verification was done at the source level:

  • Confirmed each target commit SHA corresponds to its pinned tag and that the tag's action.yml declares using: node24.
  • Reviewed upstream release notes to confirm each major bump's only breaking change is the Node.js runtime.
  • Validated all 8 edited workflow files still parse as YAML.
  • The authoritative check is this PR's own CI run — the Node 20 deprecation annotations for these actions should no longer appear.

API Compatibility

  • This PR does not break the v1beta1 API, OR the api-break-allowed label is applied and the migration guidance is described above.

Changes

File Change
image-build-and-publish.yml docker/login, setup-buildx, metadata, build-push bumps
skills-build-and-publish.yml docker/login bump
test.yml codecov-action bump
releaser.yml slack-github-action bump
helm-publish.yml, helm-charts-test.yml, test-e2e-lifecycle.yml, operator-ci.yml azure/setup-helm bump (dropped a stale # pin@v4.3.0 note)

Does this introduce a user-facing change?

No.

Special notes for reviewers

Two Node 20 actions are intentionally left as-is because no Node.js 24 release exists upstream yet:

  • arduino/setup-task — latest is v2.0.0 (still node20); needs a separate fix (e.g. go install) and is out of scope here.
  • golang/govulncheck-action@v1.0.4 — we are already on its latest release; the setup-go@v5.0.0v6.2.0 fix is only on an unreleased upstream commit. Renovate will bump it once a new release ships; GitHub force-migrates it to Node 24 on 2026-06-16 regardless.

renovate.json is untouched; arduino/setup-task remains in the "setup and language actions" group.

Generated with Claude Code

GitHub is deprecating the Node.js 20 runtime for JavaScript actions: it
is forced to Node.js 24 on 2026-06-16 and removed on 2026-09-16, which
surfaces "Node.js 20 actions are deprecated" warnings across our
workflows.

Bump every affected action to a release that runs on Node.js 24. All are
runtime-only major bumps with no input or behavior changes for our usage:

- azure/setup-helm              v4.3.1  -> v5.0.0
- docker/login-action           v3.7.0  -> v4.2.0
- docker/setup-buildx-action    v3.12.0 -> v4.1.0
- docker/metadata-action        v5.10.0 -> v6.1.0
- docker/build-push-action      v6.19.2 -> v7.2.0
- codecov/codecov-action        v5      -> v6.0.1 (also moves its
                                          embedded github-script v7 -> v8)
- slackapi/slack-github-action  v2.1.1  -> v3.0.3

arduino/setup-task and golang/govulncheck-action are left as-is: neither
has a Node.js 24 release yet.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@rdimitrov rdimitrov requested a review from JAORMX as a code owner June 3, 2026 10:40
@github-actions github-actions Bot added the size/XS Extra small PR: < 100 lines changed label Jun 3, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 3, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 68.83%. Comparing base (ab2d3a1) to head (31d82b7).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #5421      +/-   ##
==========================================
- Coverage   68.84%   68.83%   -0.02%     
==========================================
  Files         634      634              
  Lines       64433    64433              
==========================================
- Hits        44358    44350       -8     
- Misses      16795    16801       +6     
- Partials     3280     3282       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions github-actions Bot added size/XS Extra small PR: < 100 lines changed and removed size/XS Extra small PR: < 100 lines changed labels Jun 3, 2026
@rdimitrov rdimitrov merged commit 64bacc3 into main Jun 3, 2026
47 of 48 checks passed
@rdimitrov rdimitrov deleted the coal-cress branch June 3, 2026 11:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/XS Extra small PR: < 100 lines changed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants