From 64fb5f48ec19a30a11706a0ce3de31352bc6e7b1 Mon Sep 17 00:00:00 2001 From: Aditya Garud <153842990+yashranaway@users.noreply.github.com> Date: Wed, 5 Aug 2026 19:30:28 +0000 Subject: [PATCH] ci: run on Node 24 and require Node 22+ CI pinned node-version 20, which reached end of life in April 2026, and the root engines field still allowed it. The gap surfaced through the jsdom 30 bump (#66): jsdom now requires ^22.22.2 || ^24.15.0 || >=26, so the context-pruning suite crashed inside undici on Node 20 rather than reporting a test failure. Runs CI on Node 24, the current LTS and what the suites are developed against, and raises the engines floor to 22. Verified pnpm test:runtime still passes locally and reproduces the documented pruning numbers. --- .github/workflows/ci.yml | 4 ++-- CONTRIBUTING.md | 2 +- package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 87c0f6d..a5af5a3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -65,7 +65,7 @@ jobs: - uses: pnpm/action-setup@v4 - uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 24 cache: pnpm - run: pnpm install --frozen-lockfile --filter @headless/app - name: Context pruning suite @@ -94,7 +94,7 @@ jobs: - uses: pnpm/action-setup@v4 - uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 24 cache: pnpm - run: pnpm install --frozen-lockfile --filter @headless/web - run: pnpm --filter @headless/web lint diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7cf0be5..e024539 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -29,7 +29,7 @@ architecture-decision entry **before** the implementation lands. ## Development setup ```sh -pnpm install # workspace tooling (Node 20+, pnpm 9) +pnpm install # workspace tooling (Node 22+, pnpm 9) pnpm test # protocol/security suite — needs a Swift toolchain pnpm test:runtime # jsdom context-pruning suite — Node only pnpm test:e2e:linux # Docker + sandboxed Chromium E2E diff --git a/package.json b/package.json index 354f5da..86c72c5 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "test:e2e:linux": "pnpm --filter @headless/app test:e2e:linux" }, "engines": { - "node": ">=20", + "node": ">=22", "pnpm": ">=9" }, "packageManager": "pnpm@9.15.0"