Skip to content

ci: bump GitHub Actions to Node 24 majors - #8

Merged
baiirun merged 1 commit into
mainfrom
ci/bump-actions-node24
Sep 23, 2026
Merged

baiirun merged 1 commit into
mainfrom
ci/bump-actions-node24

Conversation

@baiirun

@baiirun baiirun commented Sep 23, 2026 •

Copy link
Copy Markdown
Owner

Every CI job has been warning that actions/checkout@v4, actions/setup-go@v5, and golangci/golangci-lint-action@v7 target Node 20 and are being forced onto Node 24. GitHub removes Node 20 from runners on 2026-09-23. The jobs work under forced Node 24 today; this moves to majors that declare Node 24 themselves.

What changed

action before after relevant breaking changes
actions/checkout v4 v7 v7 blocks fork-PR checkout on pull_request_target/workflow_run — not used here
actions/setup-go v5 v7 v6 changed toolchain selection (see below)
golangci/golangci-lint-action v7 v9 v8+ requires golangci-lint ≥ v2.1; CI pins v2.7.2
goreleaser/goreleaser-action v6 v7 Node 24 + deps

release.yaml also had go-version: "1.23" while go.mod requires 1.25. Releases built only because Go auto-downloaded the newer toolchain — the behavior setup-go v6 reworked — so it's now "1.25", matching ci.yaml.

Not verified by this PR

release.yaml runs only on v* tag pushes, so the goreleaser-action and release-side setup-go changes won't run until the next release. A throwaway pre-release tag would exercise them sooner.

CI on this PR passed with no Node 20 deprecation warnings in any job; lint (v9) ran against main after #7 and reported 0 issues.

🤖 Generated with Claude Code

Every CI job warned that actions/checkout@v4, actions/setup-go@v5, and
golangci/golangci-lint-action@v7 target Node 20 and were being forced
onto Node 24. GitHub removes Node 20 from runners on 2026-09-23.

Bumps each action to its latest major, all of which run on Node 24:
- actions/checkout v4 -> v7
- actions/setup-go v5 -> v7
- golangci/golangci-lint-action v7 -> v9 (v8+ needs golangci-lint
  >= v2.1; CI pins v2.7.2)
- goreleaser/goreleaser-action v6 -> v7

Also sets release.yaml's go-version from 1.23 to 1.25 to match go.mod
and ci.yaml. Releases previously built only because Go auto-downloaded
the newer toolchain, and setup-go v6 changed toolchain selection.

release.yaml only runs on v* tags, so this PR's CI does not exercise the
goreleaser or release setup-go changes; the next release will.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@baiirun
baiirun merged commit fa539f3 into main Sep 23, 2026
4 checks passed
@baiirun
baiirun deleted the ci/bump-actions-node24 branch September 23, 2026 03:07
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