build(ci): run the docs-integrity gate on Node 24 - #80
Merged
Conversation
Node 20 reached end-of-life on 2026-04-30; 24 is the Active LTS. Bump the docs-gate job's node-version and the two places that state the Node minimum. The actions/setup-node SHA pin (v7.0.0) is unchanged, as is the script's logic and every other job. Co-Authored-By: Claude Opus 5 (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.
Summary
The
docs-gatejob in.github/workflows/ci.ymlstill provisioned Node 20,which reached end-of-life on 2026-04-30. This moves it to Node 24, the
current Active LTS, and updates the two places that state the Node minimum
so the docs no longer disagree with CI.
Exactly three lines change:
.github/workflows/ci.yml:242—node-version: "20"->"24". Theactions/setup-nodeSHA pin (820762786026740c76f36085b0efc47a31fe5020,v7.0.0) is unchanged, and no other job or workflow line is touched.
AGENTS.md:58— the tooling bullet now reads Node 24+, noting the 20.xend-of-life date and that 24 is the Active LTS.
scripts/check-docs.mjs:6— header commentNode >= 20->Node >= 24.No script logic,
.coverage-thresholds.jsonvalue, threshold, Makefilerecipe, or gate is changed or weakened, and no npm ecosystem was added to
.github/dependabot.yml.Next target: Node 26 becomes Active LTS on 2026-10-28. A reviewer who
would rather wait and jump straight to 26 can close this — 24 is simply the
LTS that is current today.
Checks
make check— gofmt leaves no diff,golangci-lint run(
.golangci.yml) clean,go test -v ./...green (unit +tests/e2e)go test -race -short ./...greengo.modstill declares no dependencies (stdlib only)exact output changes update
docs/specs/reporter-package.md— n/a, no Go behavior changes
Docs housekeeping
AGENTS.md,docs/design/overview.md,docs/specs/*updated forbehavior or convention changes —
AGENTS.mdtooling bulletinstead
Protected boundaries
.github/workflows/**are called out above as highrisk. This is a supply-chain change: it raises the runner's Node
major only. No action is added, no SHA pin is altered, and job
permissions:staycontents: read.Verification
node scripts/check-docs.mjsgreenPR review rubric
node --versionon this branchnode scripts/check-docs.mjsmake verifyNo Node 20 references remain