fix(ci): one bun version everywhere + drift tripwire

Lanes disagreed four ways: 1.3.13 (free-tests, windows, Dockerfile.ci),
latest (quality-gate, make-pdf-gate), unpinned (skill-docs,
version-gate — setup-bun installs latest), 1.3.10 (.gitlab-ci.yml).
Different Bun versions change the runner output shapes the strict
classifiers regex-match, spawn semantics, and shell parsing — a lane on
a different Bun tests a different product; Dockerfile.ci's own comment
records this class biting once already (silent 1.3.13/1.3.14 drift).

All surfaces pinned to 1.3.13; test/bun-version-drift.test.ts scans
every workflow setup-bun stanza + Dockerfile.ci + .gitlab-ci.yml and
fails on any mismatch or unpinned stanza. skill-docs also gains
--frozen-lockfile (was bare bun install).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Garry Tan
2026-08-29 04:40:41 +00:00
co-authored by Claude Fable 5
parent e2904be7a4
commit ace904d40a
6 changed files with 84 additions and 4 deletions
+1 -1
View File
@@ -6,7 +6,7 @@ stages:
- check
variables:
BUN_VERSION: "1.3.10"
BUN_VERSION: "1.3.13"
.setup-bun: &setup-bun
- apt-get update -qq && apt-get install -qq -y curl jq git