diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 735ccb7..99bd660 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,9 +20,10 @@ jobs: - uses: actions/setup-go@v7 with: go-version-file: go.mod - - uses: actions/setup-node@v4 + - uses: actions/setup-node@v7 with: - node-version: "20" + # Node 20 is EOL on GHA runners; pin current Actions default (24). + node-version: "24" - name: gofmt run: test -z "$(gofmt -l .)" - name: Hygiene (no panic/reflect/fmt.Print in library code) diff --git a/docs/design/apt-air-editor.md b/docs/design/apt-air-editor.md index 42f8ee8..3cd14ba 100644 --- a/docs/design/apt-air-editor.md +++ b/docs/design/apt-air-editor.md @@ -997,7 +997,7 @@ cd "$(dirname "$0")/../webjs" node --test airport-editor/**/*.test.js ``` -- Pin **Node 20 LTS** in CI (`actions/setup-node@v4` with `node-version: "20"`). +- Pin **Node 24** in CI (`actions/setup-node@v7` with `node-version: "24"`; local floor ≥20). - Prefer **zero npm deps** for unit tests (`node:test` only). If `package.json` scripts only, `npm test` can invoke node without `node_modules`. - Add `node_modules/` to `.gitignore` if any package is ever added. - Update `Agents.md` §9 and CI workflow in **PR 4**. diff --git a/webjs/README.md b/webjs/README.md index f38b7ce..280eb6a 100644 --- a/webjs/README.md +++ b/webjs/README.md @@ -6,7 +6,7 @@ import via relative paths into the go:embed tree. ## Requirements -- Node.js **≥ 20** (CI pins Node 20 LTS) +- Node.js **≥ 20** (CI pins Node 24; floor remains ≥20) - Zero production npm dependencies for unit tests (`node:test` / `node:assert/strict`) ## Run