Garry Tan and capy-ai[bot]
6bbd0a536f
v1.91.266.0 feat(pr-wait): gstack-pr-wait event watcher (tstack pr-wait design port) and /land-and-deploy Step 3 wiring ( #3495 )
...
* feat(pr-wait): gstack-pr-wait event watcher (tstack pr-wait design port) and /land-and-deploy Step 3 wiring
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* fix(pr-wait): keep the result codes in lib/result-codes-release.ts so fixtures that copy the module list keep working
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* test(pr-wait): function declarations for the fake-gh helpers so the pregate TSX import scanner maps the lib files
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* fix(pr-wait): /ship review pass 1 — every check gates green, --timeout, bot identity, signal disposition
Red Team and specialist findings on #3495 , all fixed in the diff:
- green gates on every check on the head, as gstack-ci-gate does, so
land-and-deploy Step 2 and Step 3 can no longer disagree while a
non-required check pends; required checks still gate before they appear
- --timeout MINUTES (default 60, 0 = none) ends a watch that met nothing as
PR_WAIT_BLOCKED naming the still-pending checks; restores Step 3's cap
- a bot owns logins that start with its name (greptile-apps[bot]), not any
login containing it; a failed gating-bot check is a failed check, never a
completed review
- ready: green alone when no gating bot is configured (pr_wait_gating_bots
none no longer polls forever); held while merge state is UNKNOWN
- BEHIND and DIRTY announced once per head, with the short head in the line
- the bin installs no signal handlers: the synchronous loop never ran them
and they made the process ignore SIGTERM/SIGINT; default disposition kills
it at once and the next watcher takes over the dead pid's lock
- a gh spawn timeout (ETIMEDOUT) is retried like any transient failure
- a local fault (unwritable state root) is PR_WAIT_REFUSED exit 2, so exit 1
always carries a PR_WAIT_BLOCKED line
- control characters in GitHub text never start a second event line
Tests: 21 new cases including a real SIGTERM against the bin, gstack-config
set-time validation and default parity, and the 14 state-matrix cells the
state-machines specialist listed (gstack-state-matrix check: ok, 33/33).
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* fix(pr-wait): /ship review pass 2 — advisory checks gate too, BEHIND keyed on the head, verdict survives a failed save
- an advisory bot's review is never waited for, but its check gates like any
other, so gstack-ci-gate (Step 2) and gstack-pr-wait --until green (Step 3)
read the same check set with no exception
- BEHIND and DIRTY are keyed on the head alone; the pass-1 key also held the
base oid, so a base that kept moving re-announced BEHIND to a restarted
watcher on every commit
- finish() keeps the printed verdict's exit code when the state file cannot
be written; the save error goes to stderr
- PR_WAIT_BLOCKED and PR_WAIT_REFUSED summaries name every exit-1 and exit-2
path (--timeout, a local error); emitBots docstring matches the gating rule
- CHANGELOG says what a timeout means at land-and-deploy Step 3: a STOP with
the pending checks named, no wait-more question
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
---------
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
2026-10-27 04:45:33 +00:00
..
2026-08-29 10:10:35 -07:00
2026-10-04 07:58:41 -07:00
2026-09-14 14:32:45 -07:00
2026-10-16 23:09:23 +00:00
2026-10-03 01:19:03 -07:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-10-04 07:58:41 -07:00
2026-10-02 11:11:00 -07:00
2026-10-19 18:26:20 +00:00
2026-10-02 11:11:00 -07:00
2026-10-04 07:58:41 -07:00
2026-10-18 17:06:36 +00:00
2026-10-02 11:11:00 -07:00
2026-10-26 17:35:04 +00:00
2026-10-17 00:56:33 +00:00
2026-10-06 18:07:50 +00:00
2026-10-06 18:07:50 +00:00
2026-10-26 09:33:07 +00:00
2026-10-26 17:50:02 +00:00
2026-10-10 22:33:01 +00:00
2026-10-26 20:48:01 +00:00
2026-10-08 07:02:02 +00:00
2026-10-26 06:55:30 +00:00
2026-10-26 12:00:20 +00:00
2026-10-25 03:56:50 +00:00
2026-10-25 01:25:19 +00:00
2026-10-01 11:57:48 -07:00
2026-10-11 03:10:06 +00:00
2026-10-11 18:16:33 +00:00
2026-10-05 01:29:54 +00:00
2026-09-22 14:57:52 -04:00
2026-10-17 03:32:16 +00:00
2026-09-14 14:32:45 -07:00
2026-10-04 07:58:41 -07:00
2026-10-20 04:47:11 +00:00
2026-10-01 11:57:48 -07:00
2026-10-03 01:19:03 -07:00
2026-10-17 03:32:16 +00:00
2026-10-03 01:19:03 -07:00
2026-10-03 01:19:03 -07:00
2026-10-17 03:32:16 +00:00
2026-10-05 01:29:54 +00:00
2026-10-06 18:07:50 +00:00
2026-08-29 10:10:35 -07:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-10-04 07:58:41 -07:00
2026-10-04 07:58:41 -07:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-10-03 07:54:09 -07:00
2026-09-14 14:32:45 -07:00
2026-10-18 06:03:18 +00:00
2026-10-03 07:54:09 -07:00
2026-09-14 14:32:45 -07:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-09-14 14:32:45 -07:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-09-14 14:32:45 -07:00
2026-09-22 14:57:52 -04:00
2026-09-14 14:32:45 -07:00
2026-09-22 14:57:52 -04:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-22 14:57:52 -04:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-10-01 13:55:16 -07:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-10-01 13:55:16 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-10-01 13:55:16 -07:00
2026-10-01 13:55:16 -07:00
2026-10-01 13:55:16 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-22 14:57:52 -04:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-10-01 13:55:16 -07:00
2026-09-22 14:57:52 -04:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-22 14:57:52 -04:00
2026-09-14 14:32:45 -07:00
2026-10-01 13:55:16 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-10-01 13:55:16 -07:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-10-06 18:07:50 +00:00
2026-10-07 23:29:05 +00:00
2026-10-02 11:11:00 -07:00
2026-10-03 18:49:34 -07:00
2026-10-04 07:58:41 -07:00
2026-10-27 03:04:06 +00:00
2026-10-25 23:39:42 +00:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-10-19 07:26:49 +00:00
2026-09-14 14:32:45 -07:00
2026-10-01 13:55:16 -07:00
2026-10-03 07:54:09 -07:00
2026-10-03 07:54:09 -07:00
2026-10-19 07:26:49 +00:00
2026-09-14 14:32:45 -07:00
2026-10-03 01:19:03 -07:00
2026-10-19 07:26:49 +00:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-10-23 18:05:39 +00:00
2026-09-14 15:14:58 -07:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-10-01 13:55:16 -07:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-09-14 14:32:45 -07:00
2026-09-25 13:27:07 -04:00
2026-10-01 13:55:16 -07:00
2026-10-23 18:35:59 +00:00
2026-10-23 18:35:59 +00:00
2026-10-23 18:35:59 +00:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-22 14:57:52 -04:00
2026-09-08 22:40:22 -07:00
2026-10-27 03:04:06 +00:00
2026-09-22 14:57:52 -04:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-10-19 07:26:49 +00:00
2026-10-20 02:13:39 +00:00
2026-10-20 02:13:39 +00:00
2026-10-20 18:05:16 +00:00
2026-10-23 18:35:59 +00:00
2026-10-03 07:54:09 -07:00
2026-09-22 14:57:52 -04:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-10-01 13:55:16 -07:00
2026-10-01 13:55:16 -07:00
2026-09-22 14:57:52 -04:00
2026-09-14 14:32:45 -07:00
2026-10-19 07:26:49 +00:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-10-01 13:55:16 -07:00
2026-09-14 14:32:45 -07:00
2026-10-01 13:55:16 -07:00
2026-10-03 01:19:03 -07:00
2026-10-01 13:55:16 -07:00
2026-09-22 14:57:52 -04:00
2026-10-19 09:52:57 +00:00
2026-10-04 07:58:41 -07:00
2026-10-26 16:55:25 +00:00
2026-10-20 18:45:38 +00:00
2026-10-26 16:55:25 +00:00
2026-10-17 00:56:33 +00:00
2026-10-17 02:10:12 +00:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-22 14:57:52 -04:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-22 14:57:52 -04:00
2026-10-01 13:55:16 -07:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-10-01 13:55:16 -07:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-10-04 07:58:41 -07:00
2026-09-14 14:32:45 -07:00
2026-10-01 13:55:16 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-22 14:57:52 -04:00
2026-09-14 14:32:45 -07:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-09-14 14:32:45 -07:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-22 14:57:52 -04:00
2026-09-25 13:27:07 -04:00
2026-09-22 14:57:52 -04:00
2026-09-29 08:58:49 -07:00
2026-10-18 01:37:29 +00:00
2026-09-08 22:40:22 -07:00
2026-10-01 13:55:16 -07:00
2026-09-22 14:57:52 -04:00
2026-09-08 22:40:22 -07:00
2026-09-08 22:40:22 -07:00
2026-09-08 22:40:22 -07:00
2026-09-08 22:40:22 -07:00
2026-09-08 22:40:22 -07:00
2026-10-19 07:26:49 +00:00
2026-10-19 07:26:49 +00:00
2026-10-06 18:07:50 +00:00
2026-10-08 08:00:08 +00:00
2026-10-27 04:45:33 +00:00
2026-09-24 01:53:58 -04:00
2026-09-24 01:53:58 -04:00
2026-09-24 01:53:58 -04:00
2026-09-24 01:53:58 -04:00
2026-09-24 01:53:58 -04:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-10-01 11:57:48 -07:00
2026-09-22 14:57:52 -04:00
2026-10-19 19:22:29 +00:00
2026-10-06 18:07:50 +00:00
2026-09-06 08:54:25 -07:00
2026-09-14 14:32:45 -07:00
2026-10-20 19:02:57 +00:00
2026-10-20 19:02:57 +00:00
2026-10-19 07:26:49 +00:00
2026-10-08 08:00:08 +00:00
2026-09-14 14:32:45 -07:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-22 14:57:52 -04:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-22 14:57:52 -04:00
2026-10-01 13:55:16 -07:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-10-23 18:35:59 +00:00
2026-09-22 14:57:52 -04:00
2026-10-04 07:58:41 -07:00
2026-09-25 13:27:07 -04:00
2026-09-24 17:27:14 -04:00
2026-10-06 18:07:50 +00:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-09-22 14:57:52 -04:00
2026-10-03 01:19:03 -07:00
2026-09-22 14:57:52 -04:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-10-01 13:55:16 -07:00
2026-10-06 18:07:50 +00:00
2026-09-22 14:57:52 -04:00
2026-10-03 07:54:09 -07:00
2026-10-20 18:23:57 +00:00
2026-10-08 08:00:08 +00:00
2026-10-18 00:37:43 +00:00
2026-09-29 06:07:35 -07:00
2026-09-29 06:07:35 -07:00
2026-10-20 18:23:57 +00:00
2026-09-29 06:07:35 -07:00
2026-09-29 06:07:35 -07:00
2026-09-29 06:07:35 -07:00
2026-10-19 09:52:57 +00:00
2026-09-29 06:07:35 -07:00
2026-09-22 14:57:52 -04:00
2026-10-02 11:11:00 -07:00
2026-08-29 10:10:35 -07:00
2026-08-29 10:10:35 -07:00
2026-09-29 06:07:35 -07:00
2026-09-22 14:57:52 -04:00
2026-10-01 13:55:16 -07:00
2026-09-08 22:40:22 -07:00
2026-10-19 07:26:49 +00:00
2026-09-26 18:57:53 -04:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-09-14 14:32:45 -07:00
2026-10-16 22:00:32 +00:00
2026-10-19 07:26:49 +00:00
2026-10-19 07:26:49 +00:00
2026-09-25 12:06:45 -04:00
2026-09-24 17:27:14 -04:00
2026-09-29 06:07:35 -07:00
2026-09-29 06:07:35 -07:00
2026-09-29 06:07:35 -07:00
2026-10-01 13:55:16 -07:00
2026-09-24 01:53:58 -04:00
2026-09-29 06:07:35 -07:00
2026-09-25 13:27:07 -04:00
2026-09-24 01:53:58 -04:00
2026-10-04 07:58:41 -07:00
2026-10-04 07:58:41 -07:00
2026-10-01 13:55:16 -07:00
2026-10-04 07:58:41 -07:00
2026-10-01 13:55:16 -07:00
2026-10-04 07:58:41 -07:00
2026-10-04 07:58:41 -07:00
2026-10-04 07:58:41 -07:00
2026-09-24 01:53:58 -04:00
2026-09-25 13:27:07 -04:00
2026-09-24 01:53:58 -04:00
2026-09-24 01:53:58 -04:00
2026-10-19 07:26:49 +00:00
2026-10-19 07:26:49 +00:00
2026-09-14 14:32:45 -07:00
2026-10-19 07:26:49 +00:00
2026-10-19 07:26:49 +00:00
2026-10-21 18:11:21 +00:00
2026-10-27 01:14:07 +00:00
2026-10-03 01:19:03 -07:00
2026-10-19 07:26:49 +00:00
2026-10-26 16:55:25 +00:00
2026-10-20 18:05:16 +00:00
2026-09-25 13:27:07 -04:00
2026-10-06 18:07:50 +00:00
2026-09-22 14:57:52 -04:00
2026-10-16 22:00:32 +00:00
2026-10-26 20:48:01 +00:00