From c9f8466df860dc499ab4e9da78def2d8dca467b4 Mon Sep 17 00:00:00 2001 From: Jarvis Date: Wed, 29 Jul 2026 09:51:58 +0800 Subject: [PATCH] ci(e2e): run the harness on Node 22, which pnpm 11 requires MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The e2e job installs with pnpm 11 but set up Node 20. pnpm 11 requires Node 22.13 or newer — it imports `node:sqlite` for its store index — and the job passes today only because it never reaches that code path. Any pnpm command touching the store fails with ERR_UNKNOWN_BUILTIN_MODULE, which is exactly how the same bump broke the control plane's dashboard jobs (api7/AISIX-Cloud#1172). GitHub is deprecating Node 20 on its runners as well, so this is where the job was heading regardless. --- .github/workflows/ci.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7e5ad14a..1023f944 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -240,7 +240,13 @@ jobs: - run: chmod +x target/debug/aisix - uses: actions/setup-node@v6 with: - node-version: 20 + # pnpm 11 requires Node 22.13 or newer — it imports `node:sqlite` + # for its store index. The job only passes on Node 20 because it + # happens not to reach that code path; any pnpm command that + # touches the store (a cache step, `pnpm store path`) fails with + # ERR_UNKNOWN_BUILTIN_MODULE. GitHub is also deprecating Node 20 + # on its runners. + node-version: 22 - uses: pnpm/action-setup@v6 with: # Matches the pnpm developers run locally. The harness's