chore(deps): move Node from EOL 20 to active LTS 24 - #408
Draft
bketelsen wants to merge 1 commit into
Draft
Conversation
The docs-gate job in .github/workflows/test.yml still provisioned Node 20, which reached end of life, and mise.toml pinned no Node at all — so CI and the local gate could drift apart silently. Pin node = "24" in mise.toml and regenerate mise.lock with `mise lock` so the Node entry carries the same per-platform checksums as the existing go and golangci-lint entries, and set the docs-gate job to node-version: "24". The actions/setup-node SHA pin, all other jobs, permissions blocks, and persist-credentials settings are unchanged. scripts/check-docs.mjs declares Node >= 20 as a floor and runs unmodified on Node 24. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.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/test.ymlstill provisioned Node.js 20, which isend-of-life, and
mise.tomlpinned no Node version at all — so the CI runtime and the localgate could drift apart silently.
This moves the gate to active LTS Node.js 24 and pins Node in
mise.toml/mise.lockso bothsides resolve the same version:
.github/workflows/test.yml:node-version: "20"→"24"(one line; theactions/setup-nodeSHA pin820762786026740c76f36085b0efc47a31fe5020 # v7.0.0isunchanged, as are every other job, action pin,
permissionsblock, andpersist-credentialssetting).mise.toml: addednode = "24"to[tools]next to the untouchedgolangci-lint = "2.13.1".mise.lock: regenerated withmise lock(tool-generated, not hand-written) — the new[[tools.node]]block resolves 24.19.0 and carries per-platform checksums/URLs in exactlythe same shape as the existing
goandgolangci-lintentries.scripts/check-docs.mjsdocuments "Zero dependencies; Node >= 20" as a floor, so Node 24satisfies it; no script logic was changed. No
golangci-lintbump, nojdx/mise-actionbump,no
go.mod/go.sumchanges.AGENTS.mdsays "Node ≥ 20", which remains a correct floor, soit is untouched.
Changed files (
git diff origin/main --name-only):Checks
make fmt— SKIPPED: no Go sources changed by this PR (workflow/tool-pin files only).make ci— SKIPPED: not run locally. PR ci(make): run the docs-integrity gate inside make ci #403 (which moves the docs-integrity gateinto
make ci) is still open/unmerged, so the docs-gate was verified via its twocurrent commands instead (see Verification). Full
make ciruns on CI.go test -v ./cmd/updex ./tests/e2e/...— SKIPPED: not applicable,no Go code changed.
changed; the existing
scripts/test-check-docs.mjsself-test suite covers the runtimeand was run on Node 24 (see Verification).
Risk classification
Rationale:
docs-gateCI job and local tool pins; it touches no security control, no Actions
permissions, noaction SHA pin, and no release or artifact-provenance path, but it does change the
interpreter the docs gate executes under, so it is above documentation-only Tier 1.
Docs housekeeping
Verification
node scripts/check-docs.mjsgreen — run under Node 24:make test-docs-checkgreen — the docs checker self-test, run under Node 24:mise installsucceeds in the branch checkout and resolves Node 24:mise lockregenerated the lockfile (tool-generated):node-versionin the workflow, and the workflow diff is one line:PR review rubric
— SKIPPED: left for the reviewer; this PR is opened as a draft.