Skip to content

INFRA-726 — Upgrade GHA to Node.js 24 - #1

Merged
ChazzleDazzle merged 3 commits into
masterfrom
INFRA-726/upgrade-gha-node24
May 27, 2026
Merged

ChazzleDazzle merged 3 commits into
masterfrom
INFRA-726/upgrade-gha-node24

Conversation

@ChazzleDazzle

@ChazzleDazzle ChazzleDazzle commented May 7, 2026 •

Copy link
Copy Markdown

Summary

Upgrade GitHub Actions to Node.js 24-compatible versions.

GitHub will force Node.js 24 as the default runner on June 2, 2026 and remove
Node.js 20 entirely on September 16, 2026.

Linear: https://linear.app/enginetravel/issue/INFRA-726

Changes

Action Previous Updated File(s)
actions/checkout @v3 @v6.0.2 (SHA de0fac2e...) workflow.yml
actions/setup-go @v3 @v6.4.0 (SHA 4a360112...) workflow.yml
actions/cache @v3 @v5.0.5 (SHA 27d5ce7f...) workflow.yml

Actions needing manual review

  • golangci/golangci-lint-action@v3 — not in action-versions.json
  • shogo82148/actions-goveralls@v1 — not in action-versions.json

Upstream blockers

None.


Made with AI (model: claude-sonnet-4-20250514)

Made with Cursor


Note

Low Risk
CI-only workflow changes with no application runtime impact; slower builds possible without cache, and two third-party actions may still need Node 24 validation.

Overview
Updates the Test workflow for Node.js 24–ready runners by pinning actions/checkout and actions/setup-go to v6 SHAs (instead of @V3 tags) and reordering steps so checkout runs before Go setup in both lint and test jobs.

The test matrix no longer runs Go 1.17.x (only 1.18.x and 1.20.x), matching the module’s go 1.18 minimum. The actions/cache restore step for ~/go/pkg/mod is removed from the test job, so dependency caching in CI is no longer applied.

TODO comments flag golangci/golangci-lint-action@v3 and shogo82148/actions-goveralls@v1 for manual Node 24 verification because they are not listed in action-versions.json.

Reviewed by Cursor Bugbot for commit 56c62b7. Bugbot is set up for automated code reviews on this repo. Configure here.

Upgrade actions pinned to Node.js 20 (or older) to their Node.js 24-compatible
releases. GitHub will force Node 24 on June 2, 2026 and remove Node 20 on
September 16, 2026.

Ticket: INFRA-726
Co-authored-by: Cursor <[email protected]>

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit b9f1726. Configure here.

Comment thread .github/workflows/workflow.yml Outdated
Comment thread .github/workflows/workflow.yml Outdated
setup-go v6 enables built-in Go module caching by default. Move checkout
before setup-go so the cache can find go.mod, and remove the explicit
actions/cache step to avoid dual-caching conflicts.

Co-authored-by: Cursor <[email protected]>
@coveralls

coveralls commented May 11, 2026 •

Copy link
Copy Markdown

Coverage Report for CI Build 26461449577

Warning

No base build found for commit 5464ad4 on master.
Coverage changes can't be calculated without a base build.
If a base build is processing, this comment will update automatically when it completes.

Coverage: 88.583%

Details

  • Patch coverage: No coverable lines changed in this PR.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

Requires a base build to compare against. How to fix this →


Coverage Stats

Coverage Status
Relevant Lines: 1016
Covered Lines: 900
Line Coverage: 88.58%
Coverage Strength: 8.77 hits per line

💛 - Coveralls

@ChazzleDazzle

Copy link
Copy Markdown
Author

Addressed both BugBot findings in 3e97788:

  1. setup-go v6 cache runs before checkout — Moved checkout before setup-go in both golangci and test jobs so the built-in cache can find go.mod.
  2. Dual caching conflict — Removed the explicit actions/cache step since setup-go v6 handles Go module caching natively.

Made with AI (model: claude-sonnet-4-20250514)

go.mod declares go 1.18 as the minimum version and the codebase uses
the `any` type alias (introduced in 1.18), so 1.17 builds fail with
"undefined: any". Remove it from the matrix.

Co-authored-by: Cursor <[email protected]>
@ChazzleDazzle
ChazzleDazzle requested a review from jabaughman May 26, 2026 16:51

@jabaughman jabaughman left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved.

@ChazzleDazzle
ChazzleDazzle merged commit 08166d9 into master May 27, 2026
9 checks passed
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.

3 participants