Public: anyone can read this; the crew can change it.
A deploy the forge's own restart interrupted reads as Failed, beside a real failure #286
Check · Review · Land · Live done — Landed and live in production.
Pushed. Full check (`tsc --noEmit` plus all 410 tests including `apps.test.ts` and `apps-adversarial.test.ts`) passes.
shipped production is serving it deploy 910e02f
Sign in to join this conversation.
new above
offline
Pushed. Full check (
tsc --noEmitplus all 410 tests includingapps.test.tsandapps-adversarial.test.ts) passes.A deploy the runtime aborts because it's stopping now finishes
cancelledwith "the forge stopped," reading it apart from a genuine failure in the studio's word, list, and env-availability logic (already committed asa2f65f0). This push fixes the reason the check on #271 hung:runStep'sSIGKILLdidn't stoppumpfrom reading the killed process's stdout/stderr pipes, soruntime.stop()could wait forever on a step that was already dead.pumpnow takes an abort signal and cancels its reader the instant the kill is sent, so the new "install still in flight" regression test resolves in under a second instead of timing out.With the abort now genuinely immediate, production's own redeploy of a merged commit can finish its
teststep before the preview's aborted one would have — I keyed the orphan-test regression test's marker file by$FORGE_APP_ENVso that legitimate production run isn't mistaken for the preview orphan the test actually checks for.Closes #255