Skip to content

ci: move workflows to the node24 action majors - #43

Open
mike-diff wants to merge 2 commits into
mainfrom
ci/node24-actions
Open

ci: move workflows to the node24 action majors#43
mike-diff wants to merge 2 commits into
mainfrom
ci/node24-actions

Conversation

@mike-diff

@mike-diff mike-diff commented Aug 20, 2026

Copy link
Copy Markdown
Owner

Clears both annotations that every CI run has been emitting, neither of which
was a real decision.

1. Node 20 deprecation (a scheduled hard failure)

GitHub is force-running node20 actions on node24 today and will drop that shim.
Verified runtimes per major:

Action was node runtime now
actions/checkout v4 v5+ is node24 v5
actions/setup-go v5 v5 is node20, v6+ is node24 v6

Bumped to the minimal majors that reach node24 rather than latest (v7/v7).
checkout@v5 was already running in dispatch.yml, so this also makes the
three workflows consistent instead of leaving ci.yml and release.yml a major
behind their sibling. Two proven small steps beat one unproven large one.

The open question going in was whether setup-go@v6 still accepts a literal
go-version: "1.22" or wants go-version-file. It accepts it, confirmed by a
real run, so the version declaration is untouched.

2. Module cache that can never hit

setup-go keys the module cache on go.sum. sesh has no go.sum, because it
has no dependencies. So all three workflows attempted and failed a cache restore
on every run, and dispatch.yml was explicitly opted in with cache: true.

Set cache: false everywhere. This is not warning suppression: it makes the
config state what the project actually is. It also drops a pointless network
round trip per job.

The reason it is worth fixing at all is attention. Two permanent warnings on
every green run teach you to skim annotations, which is exactly how a real one
gets missed later.

Verification

CI green on this branch with zero annotations:

✓ Run actions/checkout@v5
✓ Run actions/setup-go@v6
✓ gofmt   ✓ vet   ✓ test   ✓ e2e
annotations: none

All three workflow files were parsed and their resolved action versions and
cache values asserted before pushing. A malformed workflow degrades to "no runs
at all", which is the one failure mode that looks like success.

Scope

.github/workflows/ only. No Go code touched.

Overlaps ci.yml with #44 (which edits the test step's run: while
this edits the uses: lines and adds cache:). Different lines, so it merges
cleanly, but the merged result is worth one glance to confirm both survived.
Recommend taking this one first: smaller, entirely config, and it removes the
scheduled failure before a feature diff is reviewed against it.

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