Skip to content

ci: bump GitHub Actions to Node 24 runtimes#45

Open
prathamesh-sonpatki wants to merge 2 commits into
mainfrom
ci/bump-actions-node24
Open

ci: bump GitHub Actions to Node 24 runtimes#45
prathamesh-sonpatki wants to merge 2 commits into
mainfrom
ci/bump-actions-node24

Conversation

@prathamesh-sonpatki

Copy link
Copy Markdown
Member

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:

Action Before After
actions/checkout v4 v5
actions/setup-go v5 v6
actions/cache v4 v5
codecov/codecov-action v4 v5
goreleaser/goreleaser-action v6 v7
  • codecov-action v5 renamed the file: input to files: — updated both usages.
  • Also added -tags test to 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.yml to the v2 format (version: "2", folding gosimple/stylecheck into staticcheck, 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

prathamesh-sonpatki and others added 2 commits June 13, 2026 20:37
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>
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