From 5fe4934bfe8aa1bafb1e3c215058acd2d56cc4f4 Mon Sep 17 00:00:00 2001 From: Jean Paul Elisa NIYOKWIZERWA Date: Sat, 1 Aug 2026 01:24:42 +0200 Subject: [PATCH] ci: move workflows from Node 20 (EOL) to Node 24 LTS Node 20 reached end-of-life on 2026-04-30, so every job in this repo has been building and testing on an unsupported runtime that no longer receives security patches. Bumps all six node-version pins across ci.yml, deploy.yml and release.yml to Node 24, the current LTS (supported to April 2028). This also unblocks #95. jsdom 30 requires Node ^22.22.2 || ^24.15.0 || >=26, so on Node 20 every vitest worker died while loading jsdom/lib/api.js: Error: [vitest-pool]: Failed to start forks worker for test files ... at Object. node_modules/jsdom/lib/api.js:12:33 No test executed, which reported as 0% coverage and tripped the 80/75 thresholds. The coverage errors were the symptom; the EOL runtime was the cause. Raising Node is the fix rather than pinning jsdom back to 29 or lowering the thresholds. No engines field is added to package.json: this is a browser-targeted library, Node is only a build/test concern, and declaring a floor would constrain consumers for no benefit. --- .github/workflows/ci.yml | 8 ++++---- .github/workflows/deploy.yml | 2 +- .github/workflows/release.yml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dc99238..4e70cde 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,7 +24,7 @@ jobs: - name: Setup Node 20 uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 24 - name: Enable Corepack run: corepack enable @@ -54,7 +54,7 @@ jobs: - name: Setup Node 20 uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 24 - name: Enable Corepack run: corepack enable @@ -83,7 +83,7 @@ jobs: - name: Setup Node 20 uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 24 - name: Enable Corepack run: corepack enable @@ -121,7 +121,7 @@ jobs: - name: Setup Node 20 uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 24 - name: Enable Corepack run: corepack enable diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index fddce67..2ae3fd0 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -31,7 +31,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 24 cache: yarn - name: Install root dependencies diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 20962ae..6abb8ae 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,7 +22,7 @@ jobs: - name: Setup Node 20 uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 24 registry-url: https://registry.npmjs.org - name: Enable Corepack