From 77c6c28b5f06a56d5d63b3717d9259dd7d421b75 Mon Sep 17 00:00:00 2001 From: ivndev001 Date: Sat, 5 Sep 2026 12:42:52 +0000 Subject: [PATCH] ci: pin bun to 1.3.14 in both workflows bun-version: latest let the gate change with no commit and no review, and it did. bun 1.4.x takes `a persona whose credentials are wrong` (session-builder.test.ts, ceiling STORY_TIMEOUT_MS = 30_000) from ~2s to ~30s. Every 1.4.x run lands between 29.6s and 30.0s, so a pass wins by 30-420ms and is noise rather than health: 2 of 8 recent attempts passed, main is red, and release PR #69 burned nine runs without a merge. 1.3.14 is the last version measured fast here, at 1,962ms on run 31238151616. The break is the toolchain and not a commit: every 1.3.x run is ~2s and every 1.4.x run is ~30s, across unrelated branches. release.yml is pinned to match. That job runs `bun run build` and publishes the result with no test step, so a toolchain regression there reaches npm with nothing in between. This pins the version; it does not diagnose the 1.4.x slowdown, which stays open as #70. Deliberately NOT done: raising STORY_TIMEOUT_MS or quarantining the story, either of which would go green over a path that still takes 30 seconds and turn a visible 15x regression into an invisible one. Co-Authored-By: Claude Opus 5 --- .github/workflows/ci.yml | 10 +++++++++- .github/workflows/release.yml | 6 +++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 71a8fda..a6b16dd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,9 +18,17 @@ jobs: steps: - uses: actions/checkout@v4 + # PINNED, deliberately. `latest` let the gate change with no commit and no + # review, and it did: bun 1.4.x takes `a persona whose credentials are wrong` + # (session-builder.test.ts, ceiling STORY_TIMEOUT_MS = 30_000) from ~2s to + # ~30s, so every 1.4.x run lands within 400ms of the ceiling and CI became a + # coin flip on every branch including main. 1.3.14 is the last version + # measured fast here: 1,962ms on run 31238151616. Bump this deliberately, + # and only with a run that shows the persona story well under its ceiling + # rather than beside it. The 1.4.x slowdown itself is open as #70. - uses: oven-sh/setup-bun@v2 with: - bun-version: latest + bun-version: 1.3.14 - name: install run: bun install diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1e7e703..31261a5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -38,9 +38,13 @@ jobs: - name: upgrade npm run: npm install -g npm@latest + # Pinned to match ci.yml — see the note there (#70). The version that BUILDS + # the published tarball must not drift on its own either: this job runs + # `bun run build` and publishes the result, with no test step to catch a + # toolchain regression before it reaches npm. - uses: oven-sh/setup-bun@v2 with: - bun-version: latest + bun-version: 1.3.14 - name: install run: bun install --frozen-lockfile