From 5a5982de3efbe825f5c4f5a0b09af136c2298cd0 Mon Sep 17 00:00:00 2001 From: robobun <117481402+robobun@users.noreply.github.com> Date: Thu, 4 Jun 2026 21:30:24 +0000 Subject: [PATCH 1/2] test: pin @angular/cli version in bunx node-version test @angular/cli 22.0.0 (published 2026-06-03) requires node ^22.22.3 || ^24.15.0 || >=26.0.0, which Bun's reported node version (24.3.0) does not satisfy, so its runtime version check exits with code 3 and the test failed on every CI run. Pin 21.1.3, whose range (^20.19.0 || ^22.12.0 || >=24.0.0) the reported version satisfies, and assert the version-check message is absent for a clearer failure. --- test/cli/install/bunx.test.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/test/cli/install/bunx.test.ts b/test/cli/install/bunx.test.ts index cb99066c38c..30121f5b741 100644 --- a/test/cli/install/bunx.test.ts +++ b/test/cli/install/bunx.test.ts @@ -503,8 +503,15 @@ it.concurrent("should handle postinstall scripts correctly with symlinked bunx", it.concurrent("should handle package that requires node 24", async () => { const { x_dir, env } = setup(); + // Pinned on purpose. @angular/cli's bin checks process.version at runtime + // and exits 3 when it's too old, which is what this test guards against + // (bun used to report node 22.6.0 and failed this check). The `latest` tag + // is a moving target: 22.0.0 started requiring ^22.22.3 || ^24.15.0 || + // >=26.0.0, which bun's reported node version (24.3.0) does not satisfy, + // so tracking `latest` broke CI on every PR. 21.1.3 requires ^20.19.0 || + // ^22.12.0 || >=24.0.0 and stays satisfied after future version bumps. const subprocess = spawn({ - cmd: [bunExe(), "x", "--bun", "@angular/cli@latest", "--help"], + cmd: [bunExe(), "x", "--bun", "@angular/cli@21.1.3", "--help"], cwd: x_dir, stdout: "pipe", stdin: "inherit", @@ -514,6 +521,7 @@ it.concurrent("should handle package that requires node 24", async () => { let [err, out, exited] = await Promise.all([subprocess.stderr.text(), subprocess.stdout.text(), subprocess.exited]); expect(err).not.toContain("error:"); + expect(err).not.toContain("requires a minimum Node.js version"); expect(out.trim()).not.toContain(Bun.version); expect(exited).toBe(0); }); From 9a73ffdefe91a2fcf652658a29c4314650a67b76 Mon Sep 17 00:00:00 2001 From: robobun <117481402+robobun@users.noreply.github.com> Date: Thu, 4 Jun 2026 21:46:45 +0000 Subject: [PATCH 2/2] ci: retrigger