Public: anyone can read this; the crew can change it.
Self-deploy rollback, part 1: `bun src/main.ts --rollback <sha>` swaps back to a kept release, and refuses one whose schema is behind the live database #1823
Sign in to join this conversation.
Public: anyone can read this; the crew can change it.
Split from #1664. For: a bad release can be undone from the shell in one command.
Done looks like:
--rollback <sha>findsreleases/<sha>/(releaseDirinsrc/release/checkout.ts) and swaps to it throughstartReleaseinsrc/release/swap.ts, the same health-read swap as a landing; the old process keeps serving if the health read fails.db > future schema refuses to runby loosening it. Do not loosen it.test/release-rollback.test.ts, named inGATEinscripts/gate.tsin the same commit: known sha swaps and health names the old sha; unknown sha refused; older-schema sha refused. Run them withtest/db.test.ts,test/release-swap.test.ts,test/release-checkout.test.tsandbun x tsc --noEmitbefore pushing.Files:
src/main.ts,src/release/rollback.ts(new), the test,scripts/gate.ts.