Skip to content

Remove source build fallback from release update flow#693

Merged
selfcontained merged 1 commit into
mainfrom
fix/remove-source-build-fallback
Jun 26, 2026
Merged

Remove source build fallback from release update flow#693
selfcontained merged 1 commit into
mainfrom
fix/remove-source-build-fallback

Conversation

@selfcontained

Copy link
Copy Markdown
Owner

Summary

  • Remove source build fallback from deployTag — the if (!usedArtifact) block that ran git checkout, pnpm install, and pnpm run build:bun from source is gone. deployTag now calls await deployFromArtifact(job, tag) directly, so download failures surface as thrown errors instead of silently falling through to a dangerous build path.
  • Change deployFromArtifact from Promise<boolean> to Promise<void> — removed try/catch blocks that swallowed errors and returned false. Errors now propagate naturally.
  • Delete assertCommandOnPath helper — only called from the removed fallback.

Motivation

The v0.23.9 update wiped compiled binaries in dist/bun/, preventing the server from restarting. Root cause: deployFromArtifact caught errors and returned false, triggering the source build fallback. The build script (scripts/build-bun-binaries.mjs line 171) does rmSync(outDir, { recursive: true, force: true }) before building — when the build then failed, the binaries were gone and the server couldn't restart.

The source build fallback is inherently unsafe because it deletes existing binaries before attempting to build replacements. Removing it ensures artifact download failures are surfaced immediately rather than cascading into a worse state.

Test plan

  • pnpm run check — type checking passes
  • pnpm run test — all unit tests pass (2135 total)
  • pnpm run test:e2e — 171 passed, 12 skipped (terminal-live, needs tmux)

🤖 Generated with Claude Code

The fallback to `pnpm run build:bun` on artifact download failure
would wipe `dist/bun/` via rmSync before attempting a build, destroying
the running binary. If the build then failed, the server could not
restart. Remove the fallback entirely so download failures surface
immediately as errors instead of silently nuking binaries.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
@selfcontained
selfcontained merged commit aab8e96 into main Jun 26, 2026
1 check passed
@selfcontained
selfcontained deleted the fix/remove-source-build-fallback branch June 26, 2026 03:35
@selfcontained
selfcontained restored the fix/remove-source-build-fallback branch June 26, 2026 16:54
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