Skip to content

chore(standards): sync CI fixes and upgrade Bun to 1.4.3 - #209

Merged
davidvornholt merged 1 commit into
mainfrom
chore/sync-standards-bun-1.4.3
Oct 15, 2026
Merged

davidvornholt merged 1 commit into
mainfrom
chore/sync-standards-bun-1.4.3

Conversation

@davidvornholt

Copy link
Copy Markdown
Owner

Before. Wordhold ran the canonical Standards files of 11 October, because the weekly standards sync has failed since 5 October. It therefore lacked several later CI fixes: a push to a draft PR directly followed by ready for review could cancel the ready run, as in run 38624481042, and leave the head without its required check. The CI Postgres also synced every write to disk, so each DROP DATABASE in the test suites took seconds. Bun 1.4.2 has a JIT bug that desynchronizes Error.stackTraceLimit. Locally, a changing host network address could make Chromium abort accessibility-test requests with net::ERR_NETWORK_CHANGED.

Now. Wordhold uses the current canonical files, Standards CLI 0.30.0, and Bun 1.4.3 in the dev shell, CI, and the runtime image. Draft and ready runs no longer cancel each other (standards#437). Both CI Postgres services run without disk syncs (standards#439), and Bun 1.4.3 fixes the JIT bug (standards#436). The accessibility suite runs through a11y-playwright, which uses a loopback-only network namespace where the host allows it (standards#431).

Implementation

  • Synced from davidvornholt/standards@414022f. The sync also brings the animation-settle and app-release documentation changes made upstream since the last sync.
  • test:a11y runs a11y-playwright because the fixture server is a static vite preview that needs no host network. The CLI moves to 0.30.0 because the structure check in 0.29.0 accepts only playwright test there.
  • bun install does not add a new bin of an existing workspace package to bun.lock, and --frozen-lockfile does not notice its absence. The three bin lines for @davidvornholt/a11y-testing were added by hand, exactly as in the Standards lockfile; bun install --frozen-lockfile then links node_modules/.bin/a11y-playwright.
  • The Dockerfile pins the multi-arch index digest of oven/bun:1.4.3.
  • The container-smoke job in publish-container.yml runs the full gate against its own Postgres service, which gets the same POSTGRES_INITDB_ARGS.
  • @types/bun stays ^1.4.2, as in the canonical packages.

Verification

Completed checks

  • bun run check on the final commit, with DATABASE_URL from apps/web/.env.local: standards check passed (63 canonical paths match, structure matches), and all 15 Turbo tasks passed. An uncached run on the same content passed all 15 tasks in 38.8 s: web 932 tests, db 28, ai 188, a11y-testing 21.
  • bun run test:a11y in apps/web: 524 passed in 35.6 s inside the loopback-only namespace, without the fallback notice.
  • podman build of the Dockerfile succeeded, and bun --version in the image prints 1.4.3.
  • The container-smoke checks, replayed with Podman against postgres:18-alpine started with the new POSTGRES_INITDB_ARGS: fsync, synchronous_commit, and full_page_writes read off; db:migrate:production passed twice; the read-only container without capabilities answered /api/health with {"status":"ok"} as user 65532:65532.

@davidvornholt
davidvornholt marked this pull request as ready for review October 15, 2026 06:07
@davidvornholt
davidvornholt merged commit 750182d into main Oct 15, 2026
18 checks passed
@davidvornholt
davidvornholt deleted the chore/sync-standards-bun-1.4.3 branch October 15, 2026 06:15

This branch was successfully deployed

1 active deployment
pr-preview — 1477ff01 Deployed Oct 15, 2026 by davidvornholt via command #1748
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant