ci: bump GitHub Actions to Node 24 runtimes#45
Open
prathamesh-sonpatki wants to merge 2 commits into
Open
Conversation
GitHub forces Node 24 on June 16, 2026 and removes Node 20 from runners on Sep 16. Bump the JS actions that still ran on Node 20: - actions/checkout v4 -> v5 - actions/setup-go v5 -> v6 - actions/cache v4 -> v5 - codecov/codecov-action v4 -> v5 (file -> files input rename) - goreleaser/goreleaser-action v6 -> v7 Also align the release workflow's test job with ci.yml by adding -tags test, so the agent-package unit tests actually run there too. golangci-lint-action is intentionally left at v6 (still Node 20): v7+ requires golangci-lint v2 and a .golangci.yml migration, tracked as a separate change. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
setup-go@v6 defaults to GOTOOLCHAIN=local, which exposed that the CI matrix's 1.22/1.23 jobs only ever passed because v5 silently auto-downloaded the 1.24 toolchain. The real floor is Go 1.24: the core dependency go.opentelemetry.io/otel 1.41 (plus fasthttp, golang.org/x/*) all require go 1.24.0, which go.mod already declares. Align everything with that reality: - Drop 1.22/1.23 from the unit and integration test matrices. - README: Go 1.24+, OTel API 1.41.0, semconv v1.25.0 (were 1.22+/1.39.0/ v1.26.0); drop the now-moot 'Go 1.24+ gets the full suite' caveat. - Delete the unreachable !go1.24 legacy runtime path; fold the go1.24 implementation into agent_runtime.go with no build tag. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
Why
GitHub is deprecating Node 20 on Actions runners: Node 24 becomes the default on June 16, 2026, and Node 20 is removed from runners on Sep 16, 2026. Our CI and release workflows emit Node 20 deprecation warnings on every run.
What
Bump the JS actions that still ran on Node 20 to their Node 24 majors:
actions/checkoutactions/setup-goactions/cachecodecov/codecov-actiongoreleaser/goreleaser-actioncodecov-actionv5 renamed thefile:input tofiles:— updated both usages.-tags testto the release workflow's test job, matching the ci.yml fix from the previous change so the agent-package unit tests run there too (they were silently skipped).Intentionally not bumped
golangci/golangci-lint-action@v6(still Node 20): v7+ drops golangci-lint v1 and forces v2, which requires migrating.golangci.ymlto the v2 format (version: "2", foldinggosimple/stylecheckintostaticcheck, restructured settings/exclusions). That's a real migration with lint-behavior risk, so it's tracked as a separate follow-up. Node 20 actions keep working until Sep 16, so there's no urgency on this one.bufbuild/buf-setup-action@v1: pinned to the v1 line by convention; not flagged by the deprecation.Verification
YAML validated locally. CI on this PR exercises every bumped action; merge once green.
🤖 Generated with Claude Code