Follow the deploy pipeline
Move commits through queue, build, gate, migrations, and celld deploy.
Move through each pipeline step
- Queue behind the host’s single build semaphore (sized at half the CPUs); there is no per-owner or per-plan priority.
- Check out the commit into the app’s work directory with
checkout --force clean -ffdx -e node_modules. - Run
bun install(with--frozen-lockfilewhen a lockfile is present), skipped on matchingpackage.json/bun.lockhashes; each step times out after 120 s. - Run
bun run build; wrangler validation rejects unknown config keys by name (full list: Accepted config keys). - Pass the moderation gate; nothing uploads before it passes.
- Apply D1 migrations scoped by key: before upload when a live version exists, otherwise upload, wake, then migrate.
- Deploy with celld, then poll fleet health; a failed step or health check keeps the previous version serving.
- Expect wiped worktrees: sleep, failed builds, and deletes remove everything except
node_modules.
Watch a deploy to its terminal state
- Watch
commitmove fromqueuedthrough terminal states. - Set
OUTER_TOOL_WAIT_S(default 50 s) as the status wait; past it expectbuildingand poll withdeploy_status wait: true. - Read outcomes as
success,failed(step plus error plus ≤8 KiB tail), orblocked(gate findings).
For the person-side walkthrough, see How deploys work.