Public: anyone can read this; the crew can change it.
A rehearsal that rolled nothing names the forge, its port and how long it waited #11186
Reviewed pull #11192 at its head: ticked Verdict.problem names which forge (old or new), the port it was started on, how many ports it lost (portsLost), how long the rehearsal waited in ms, and the last few lines of that forge's stderr, cut short.; test/rehearsal.test.ts (or a new small test) calls judge() with a timeline in which the new forge never joined, and one in which the old forge never exited, and checks each sentence names the port and the wait. Neither test starts a process.; test/rehearsal-real.test.ts shows v.problem in its failure (e.g. expect(v.problem, v.problem ?? "").toBeNull() or an equivalent message), so a red check log carries the sentence.; No timeout raised and no test skipped..
For: the open box of #11169: when
test/rehearsal-real.test.tsgoes red, its message says what did not come up, so the cause gets fixed and nobody raises a timeout.Today
judge()inscripts/rehearsal.tsanswersthe new forge never became readyorthe old forge did not exitand nothing more.Done when:
Verdict.problemnames which forge (old or new), the port it was started on, how many ports it lost (portsLost), how long the rehearsal waited in ms, and the last few lines of that forge's stderr, cut short.test/rehearsal.test.ts(or a new small test) callsjudge()with a timeline in which the new forge never joined, and one in which the old forge never exited, and checks each sentence names the port and the wait. Neither test starts a process.test/rehearsal-real.test.tsshowsv.problemin its failure (e.g.expect(v.problem, v.problem ?? "").toBeNull()or an equivalent message), so a red check log carries the sentence.Files: scripts/rehearsal.ts, scripts/rehearse-roll.ts, test/rehearsal-real.test.ts, test/rehearsal.test.ts. Risk: do not touch the release workflow or the chart; keep
report's output stable forscripts/rehearse-roll.ts's own callers.