From 27dffbcc4ac88261ce6d69ebc2d29acb8a392ac9 Mon Sep 17 00:00:00 2001 From: Leo Date: Tue, 22 Sep 2026 02:46:37 -0700 Subject: [PATCH 01/11] ci: pin remaining Bun setup versions --- .github/workflows/ci-macos-compat.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci-macos-compat.yml b/.github/workflows/ci-macos-compat.yml index 9af8e9579128..513dd79f5bb1 100644 --- a/.github/workflows/ci-macos-compat.yml +++ b/.github/workflows/ci-macos-compat.yml @@ -99,6 +99,8 @@ jobs: - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 + with: + bun-version: "1.3.14" - name: Capture Ghostty revision id: ghostty-revision From b4f6b5213a97f94dfab0261c722eb5819f104a46 Mon Sep 17 00:00:00 2001 From: Leo Date: Tue, 22 Sep 2026 02:46:40 -0700 Subject: [PATCH 02/11] ci: pin remaining Bun setup versions --- .github/workflows/cloud-vm-env-audit.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/cloud-vm-env-audit.yml b/.github/workflows/cloud-vm-env-audit.yml index d05b8c325efc..f1b696d1cd0e 100644 --- a/.github/workflows/cloud-vm-env-audit.yml +++ b/.github/workflows/cloud-vm-env-audit.yml @@ -37,6 +37,8 @@ jobs: - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 + with: + bun-version: "1.3.14" - name: Install dependencies working-directory: web From c39558132cc5b8bfc0384c582c5701cee99a3fe7 Mon Sep 17 00:00:00 2001 From: Leo Date: Tue, 22 Sep 2026 02:46:43 -0700 Subject: [PATCH 03/11] ci: pin remaining Bun setup versions --- .github/workflows/cloud-vm-migrate.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/cloud-vm-migrate.yml b/.github/workflows/cloud-vm-migrate.yml index 0ed84f95bb9d..fd3292f3125c 100644 --- a/.github/workflows/cloud-vm-migrate.yml +++ b/.github/workflows/cloud-vm-migrate.yml @@ -42,6 +42,8 @@ jobs: run: echo "sha=$(git rev-parse HEAD)" >> "$GITHUB_OUTPUT" - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 + with: + bun-version: "1.3.14" - name: Install dependencies run: bun install --frozen-lockfile - name: Cloud VM migration preflight @@ -69,6 +71,8 @@ jobs: ref: ${{ needs.preflight.outputs.source_sha }} - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 + with: + bun-version: "1.3.14" - name: Install dependencies run: bun install --frozen-lockfile - name: Validate PlanetScale credentials @@ -109,6 +113,8 @@ jobs: ref: ${{ needs.preflight.outputs.source_sha }} - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 + with: + bun-version: "1.3.14" - name: Install dependencies run: bun install --frozen-lockfile - name: Validate PlanetScale credentials From 8884c5b65846e8044db17959ec982ac49ff93140 Mon Sep 17 00:00:00 2001 From: Leo Date: Tue, 22 Sep 2026 02:46:54 -0700 Subject: [PATCH 04/11] ci: pin remaining Bun setup versions --- .github/workflows/cloud-vm-smoke.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/cloud-vm-smoke.yml b/.github/workflows/cloud-vm-smoke.yml index efa67ecfd514..5edb4fb941a3 100644 --- a/.github/workflows/cloud-vm-smoke.yml +++ b/.github/workflows/cloud-vm-smoke.yml @@ -57,6 +57,8 @@ jobs: - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 + with: + bun-version: "1.3.14" - name: Install dependencies run: bun install --frozen-lockfile From 9039d71e7d205ca98244634f23546eee9bbffeaf Mon Sep 17 00:00:00 2001 From: Leo Date: Tue, 22 Sep 2026 02:47:19 -0700 Subject: [PATCH 05/11] ci: pin remaining Bun setup versions --- .github/workflows/nightly.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 9a07179438f3..379ed7e84c88 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -1021,6 +1021,8 @@ jobs: - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 + with: + bun-version: "1.3.14" - name: Install build deps run: | From fd2843ede76b26c4e3672cdfac271f1b5c57b597 Mon Sep 17 00:00:00 2001 From: Leo Date: Tue, 22 Sep 2026 02:47:22 -0700 Subject: [PATCH 06/11] ci: pin remaining Bun setup versions --- .github/workflows/perf-activation.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/perf-activation.yml b/.github/workflows/perf-activation.yml index 76aa7f3257ba..99080e2c78a2 100644 --- a/.github/workflows/perf-activation.yml +++ b/.github/workflows/perf-activation.yml @@ -142,6 +142,8 @@ jobs: - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 + with: + bun-version: "1.3.14" - name: Download pre-built GhosttyKit.xcframework env: From 31c4d4607f1364ce99f27d463df33ca35d9764c8 Mon Sep 17 00:00:00 2001 From: Leo Date: Tue, 22 Sep 2026 02:47:35 -0700 Subject: [PATCH 07/11] ci: pin remaining Bun setup versions --- .github/workflows/presence.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/presence.yml b/.github/workflows/presence.yml index b863ee2124fa..025fdc05781d 100644 --- a/.github/workflows/presence.yml +++ b/.github/workflows/presence.yml @@ -47,6 +47,8 @@ jobs: - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 + with: + bun-version: "1.3.14" # Wrangler requires Node >= 22; the Blacksmith ubuntu-2404 image ships # Node 20, so pin it explicitly instead of relying on the runner's @@ -87,6 +89,8 @@ jobs: - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 + with: + bun-version: "1.3.14" # Wrangler requires Node >= 22; Blacksmith ubuntu-2404 ships Node 20. - name: Setup Node From 113de7afdcf772c8e2801a29e9ffc1c2b57a0c77 Mon Sep 17 00:00:00 2001 From: Leo Date: Tue, 22 Sep 2026 02:47:38 -0700 Subject: [PATCH 08/11] ci: pin remaining Bun setup versions --- .github/workflows/release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7f69219456b9..b3bd71211738 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -226,6 +226,8 @@ jobs: - name: Setup Bun if: steps.guard_release_assets.outputs.skip_all != 'true' uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 + with: + bun-version: "1.3.14" - name: Install build deps if: steps.guard_release_assets.outputs.skip_all != 'true' From 33f0dc173472f31dadc1fa5719c6ca82efef3e70 Mon Sep 17 00:00:00 2001 From: Leo Date: Tue, 22 Sep 2026 02:47:52 -0700 Subject: [PATCH 09/11] ci: pin remaining Bun setup versions --- .github/workflows/reload-build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/reload-build.yml b/.github/workflows/reload-build.yml index f447a09f5492..2c36b36d22aa 100644 --- a/.github/workflows/reload-build.yml +++ b/.github/workflows/reload-build.yml @@ -130,6 +130,8 @@ jobs: - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 + with: + bun-version: "1.3.14" # The macOS app build compiles the bundled cmux-cua (Rust) in a copy- # resources phase via scripts/build-cmux-cua.sh, so the runner needs a From 3d63427b65ccf816e3ef84bc2e91d2c6581c093a Mon Sep 17 00:00:00 2001 From: Leo Date: Tue, 22 Sep 2026 02:47:55 -0700 Subject: [PATCH 10/11] ci: pin remaining Bun setup versions --- .github/workflows/tmux-corpus.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/tmux-corpus.yml b/.github/workflows/tmux-corpus.yml index 321b55ebb493..fee7709b2782 100644 --- a/.github/workflows/tmux-corpus.yml +++ b/.github/workflows/tmux-corpus.yml @@ -48,6 +48,8 @@ jobs: - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 + with: + bun-version: "1.3.14" - name: Cache GhosttyKit.xcframework id: cache-ghosttykit From 71238d1f0193f70ab87f97b107888604682bcc89 Mon Sep 17 00:00:00 2001 From: Leo Date: Tue, 22 Sep 2026 02:48:08 -0700 Subject: [PATCH 11/11] test: require explicit Bun versions --- tests/test_ci_change_areas.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tests/test_ci_change_areas.py b/tests/test_ci_change_areas.py index e7466bf9fb27..2e9a1a487f8c 100644 --- a/tests/test_ci_change_areas.py +++ b/tests/test_ci_change_areas.py @@ -1264,6 +1264,27 @@ def test_web_workflow_pins_every_bun_setup_version() -> None: assert ' bun-version: "1.3.14"' in setup_tail +def test_every_setup_bun_step_declares_a_version() -> None: + workflows = ROOT / ".github" / "workflows" + action = "oven-sh/setup-bun@" + found = 0 + + for workflow_path in sorted(workflows.glob("*.yml")): + lines = workflow_path.read_text(encoding="utf-8").splitlines() + for index, line in enumerate(lines): + if action not in line: + continue + found += 1 + tail = lines[index + 1:index + 7] + assert any("bun-version:" in candidate for candidate in tail), ( + workflow_path.relative_to(ROOT), + index + 1, + "setup-bun must declare an explicit bun-version", + ) + + assert found >= 20, "setup-bun inventory unexpectedly disappeared" + + def test_web_typecheck_retries_native_tsgo_abort() -> None: script = workflow_job_step_script("web-typecheck", "Typecheck", WEB_WORKFLOW)