Skip to content

ci: pin pnpm to 10.11.0 (fixes CI crash on Node 20)#322

Open
AminDhouib wants to merge 1 commit into
masterfrom
fix/ci-pin-pnpm
Open

ci: pin pnpm to 10.11.0 (fixes CI crash on Node 20)#322
AminDhouib wants to merge 1 commit into
masterfrom
fix/ci-pin-pnpm

Conversation

@AminDhouib

Copy link
Copy Markdown
Member

Problem

All CI checks currently fail during the "Setup PNPM environment" step, before any job's real work runs:

npm install -g pnpm@latest            # now resolves to pnpm 11.12.0
warn: This version of pnpm requires at least Node.js v22.13
Error [ERR_UNKNOWN_BUILTIN_MODULE]: No such built-in module: node:sqlite
##[error]Process completed with exit code 1.

pnpm@latest bumped to v11, which requires Node ≥ 22.13, but CI pins Node 20.18.2 via .nvmrc. pnpm 11 does require('node:sqlite') (only in Node ≥ 22) → crash. This is time-based drift and breaks every PR's checks (Prettier Check → Status Check) with an error unrelated to the diff under review.

Fix

Pin the workflow's pnpm to 10.11.0 — the repo's own declared packageManager (root package.json) — at all 4 setup steps in .github/workflows/main.yml (npm install -g pnpm@latestnpm install -g pnpm@10.11.0).

  • Minimal: 4 one-line changes, one file.
  • .nvmrc (Node 20) intentionally left unchanged to keep runtime blast radius minimal.
  • No other workflow uses pnpm@latest (checked publish.yml/e2e.yml/nightly.yml).

Verify

grep of main.yml after the change: pnpm@latest = 0, pnpm@10.11.0 = 4 (lines 26/60/138/190). Locally, pnpm@10.11.0 (the repo's pinned version) runs CI scripts fine on Node 20 (pnpm run prettier-check → exit 0).

Do not merge yet.

Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com

🤖 Generated with Claude Code

CI's "Setup PNPM environment" steps ran `npm install -g pnpm@latest`, which
now resolves to pnpm 11 (requires Node >= 22.13). CI pins Node 20.18.2 via
.nvmrc, so pnpm 11 crashes with `ERR_UNKNOWN_BUILTIN_MODULE: node:sqlite`
during setup, before any job's real step runs. This fails every PR's checks
(Prettier Check, and by extension Status Check) with an error unrelated to the
change under review.

Pin pnpm to 10.11.0 — the repo's own declared `packageManager` — at all four
setup steps in main.yml. .nvmrc (Node 20) is intentionally left unchanged to
keep the runtime blast radius minimal.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@codesandbox

codesandbox Bot commented Jul 12, 2026

Copy link
Copy Markdown

Review or Edit in CodeSandbox

Open the branch in Web EditorVS CodeInsiders

Open Preview

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant