mirror of
https://github.com/garrytan/gstack.git
synced 2026-11-03 07:18:03 +01:00
fix: pre-landing review fixes (runnable clear-time NEXT, stale exit only on a fetched main, open-slot freeze control, LF size-ledger fixture)
- verify's clear-time NEXT names gh pr view <n> --json state,headRefOid per unreadable slot instead of a pasteable #n@sha that views the current branch's PR - QUEUE_TRAIN_STALE needs a fetched main (never under --no-fetch) and reports a freeze restored from the notes ref instead of saying the queue is not frozen - freezeQueue docstring matches the unreadable field - new test: a train with a slot still OPEN freezes even when another train verified main's sha - test/size-ledger.test.ts fixture repo sets core.autocrlf false (Windows Free Tests shard 4 counted CRLF bytes) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
This commit is contained in:
1 parent
5a94db36b1
commit
0f6ca6f254
5 files changed
+49
-16
No files matched your search
+6
-3
@@ -645,15 +645,18 @@ record comes from the one GitHub read that decided to freeze, never a second
|
||||
one: a slot that read MERGED stays merged even when GitHub stops answering
|
||||
before the record is written, and a slot unreadable beside a merged one is
|
||||
left out of `unmerged`, recorded under `unreadable` and printed on an
|
||||
`unreadable:` line; the `NEXT:` after the repair names it (`gh pr view
|
||||
#<n>@<sha> (unreadable at the freeze); seat each that is OPEN in a train`).
|
||||
`unreadable:` line; the `NEXT:` after the repair names it (`gh pr view <n>
|
||||
--json state,headRefOid (unreadable at the freeze: #<n>@<sha>); seat each
|
||||
that is OPEN in a train`).
|
||||
When every slot of the train already merged on GitHub and main's SHA is a
|
||||
prefix another train's verify confirmed (read after the notes ref, so a
|
||||
machine that never ran that train still sees it), the mismatch says nothing
|
||||
about this train: verify refuses with `QUEUE_TRAIN_STALE` and `NEXT:
|
||||
gstack-ship-queue train prune --stale --train <nonce>`, freezing nothing and
|
||||
dispatching no backstop (train 24's record froze the queue that way on a main
|
||||
train 28 had verified, #3519). When
|
||||
train 28 had verified, #3519). Only a verify that fetched main takes this
|
||||
exit: under `--no-fetch` the local main may be older than GitHub's, so the
|
||||
mismatch freezes as before. When
|
||||
whether a slot merged on GitHub cannot be read, verify refuses
|
||||
(`QUEUE_PROOF_MISSING`, "whether #<n> merged on GitHub could not be read")
|
||||
and asks to be rerun once `gh pr view` answers; an unreadable state is never
|
||||
|
||||
@@ -4358,8 +4358,10 @@ did both on a main train 28 had verified, #3519). Other trains are read after
|
||||
the notes ref, so a machine that never ran the later train still sees it.
|
||||
|
||||
**Fix.** `gstack-ship-queue train prune --stale --train <nonce>` settles the
|
||||
record. When some slot is not merged, or no train verified main's SHA, verify
|
||||
freezes as before (`QUEUE_TRAIN_FROZEN`).
|
||||
record. When some slot is not merged, no train verified main's SHA, or verify
|
||||
ran with `--no-fetch`, verify freezes as before (`QUEUE_TRAIN_FROZEN`). A queue
|
||||
another machine already froze stays frozen; the refusal prints its freeze
|
||||
lines.
|
||||
|
||||
<a id="queue-train-frozen"></a>
|
||||
### `QUEUE_TRAIN_FROZEN`
|
||||
|
||||
Reference in new issue
Block a user