Remove source build fallback from release update flow#693
Merged
Conversation
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]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
deployTag— theif (!usedArtifact)block that rangit checkout,pnpm install, andpnpm run build:bunfrom source is gone.deployTagnow callsawait deployFromArtifact(job, tag)directly, so download failures surface as thrown errors instead of silently falling through to a dangerous build path.deployFromArtifactfromPromise<boolean>toPromise<void>— removed try/catch blocks that swallowed errors and returnedfalse. Errors now propagate naturally.assertCommandOnPathhelper — 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:deployFromArtifactcaught errors and returnedfalse, triggering the source build fallback. The build script (scripts/build-bun-binaries.mjsline 171) doesrmSync(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 passespnpm run test— all unit tests pass (2135 total)pnpm run test:e2e— 171 passed, 12 skipped (terminal-live, needs tmux)🤖 Generated with Claude Code