Skip to content

ci: move GitHub Actions off the Node 20 runtime#48

Merged
dcmcand merged 1 commit into
mainfrom
ci/node24-actions
Jul 7, 2026
Merged

ci: move GitHub Actions off the Node 20 runtime#48
dcmcand merged 1 commit into
mainfrom
ci/node24-actions

Conversation

@dcmcand

@dcmcand dcmcand commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Node 20 reached end of life in April 2026, and GitHub is winding down the node20 action runtime in favor of node24. This bumps every action the repo pins to a node20-runtime major up to its current node24 major.

Changes

Action Before After Workflow(s)
actions/checkout v4 v6 docs.yml (rest of repo was already v6)
actions/setup-node v4 v6 docs.yml (ci.yml was already v6)
azure/setup-helm v4 v5 ci.yml
cloudflare/wrangler-action v3 v4 docs.yml
goreleaser/goreleaser-action v6 v7 release.yml
docker/setup-buildx-action v3 v4 build-images.yaml
docker/metadata-action v5 v6 build-images.yaml
docker/build-push-action v6 v7 build-images.yaml
docker/login-action v3 v4 build-images.yaml

After this, every action in the repo runs on node24 except thollander/actions-comment-pull-request, whose latest release (v3) is still node20 - there is no node24 version to move to yet.

Verification

Each bump was checked against its release notes and confirmed to be a node24-runtime (plus internal ESM/dependency) change with no effect on the inputs this repo actually uses:

  • checkout / setup-node: no input changes; ci.yml already runs @v6 of both and is green. setup-node's npm auto-cache change is moot because we set cache: npm explicitly.
  • setup-helm / docker/setup-buildx / docker/login: node24 only (we pass no removed/deprecated inputs).
  • docker/metadata v6: only affects inline # inside list values; our tags: uses full-line # comments, which are still supported.
  • docker/build-push v7: removes two build-summary envs we do not set.
  • goreleaser-action v7: does not change the goreleaser binary version, which stays pinned to ~> v2 via the version input.
  • wrangler-action v4: also changes the default Wrangler CLI to v4. It only runs in the secret-gated Pages deploy step (not the PR build gate), and pages deploy / pages project create are compatible across v3 and v4.

All four workflow files parse as valid YAML. Only version tags changed - no inputs or expressions were touched.

CI coverage note

ci.yml and docs.yml run on this PR, so their bumps (checkout, setup-node, setup-helm, and the wrangler deploy if secrets are present) are exercised here. build-images.yaml (push/tags) and release.yml (tags) do not trigger on pull requests, so the docker and goreleaser bumps will first execute on the next merge to main and the next release tag respectively.

Node 20 reached end of life in April 2026 and GitHub is winding down the
node20 action runtime in favor of node24. Every action the repo pins to a
node20-runtime major is bumped to the current node24 major:

- actions/checkout            v4 -> v6   (docs.yml; rest of repo already v6)
- actions/setup-node          v4 -> v6   (docs.yml; ci.yml already v6)
- azure/setup-helm            v4 -> v5
- cloudflare/wrangler-action  v3 -> v4
- goreleaser/goreleaser-action v6 -> v7
- docker/setup-buildx-action  v3 -> v4
- docker/metadata-action      v5 -> v6
- docker/build-push-action    v6 -> v7
- docker/login-action         v3 -> v4

Each bump was checked against its release notes: they are node24-runtime
(+ internal ESM/dep) changes with no impact on the inputs this repo uses.
Two notes:

- goreleaser-action v7 does not change the goreleaser binary version; that
  stays pinned to "~> v2" via the `version` input.
- wrangler-action v4 also changes the default Wrangler CLI to v4. It only
  runs in the secret-gated Pages deploy step (not the PR build gate), and
  `pages deploy`/`pages project create` are compatible across v3 and v4.

thollander/actions-comment-pull-request stays on v3: its latest release is
still node20, so there is no node24 version to move to yet.
@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown

📄 Docs preview for ci/node24-actions:
https://ci-node24-actions.nebari-frames.pages.dev

@dcmcand dcmcand merged commit 8bb6e65 into main Jul 7, 2026
6 checks passed
@dcmcand dcmcand deleted the ci/node24-actions branch July 7, 2026 11:25
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