Repository navigation
Commit 2b7fc52
ci(scheduled-full-run): a refresh moves a stale pm:blocked back to pm:queue once every blocker has closed (#24305)
Fixes #24278
Clause-②: no
## What this does
When the hourly red card is **refreshed** while it carries `pm:blocked`,
the refresh now resolves every `Blocked-by:` target the card names (body
**and** comments, line-initial, read by the half-state patrol's own
reader). When **every** target is a LOCAL card that has closed, no
`Unlock-action:` line names another unlock, and the card has no
assignee, it swaps `pm:blocked` for `pm:queue` (one additive `POST
.../labels`, one `DELETE .../labels/pm:blocked` by name) and says so in
the refreshed body. In every other case no label moves:
| card state at refresh | label outcome | body |
|---|---|---|
| not `pm:blocked` | untouched, and **nothing is read** (zero extra API
calls) | refreshed as before |
| `pm:blocked`, no `Blocked-by:` line anywhere | untouched (that is the
patrol's H4 row) | as before |
| `pm:blocked`, any target OPEN | untouched (the hourly reds are the
blocked failure itself) | as before |
| `pm:blocked`, any target unreadable (e.g. a cross-repo 404) |
untouched (unread is not closed) | as before |
| `pm:blocked`, any **cross-repo** target CLOSED | untouched: closed
upstream means merged there, not consumable here through the
`.objectui-sha` pin, so it is not an unlock criterion for this consumer
(the run's summary row names it so) | as before |
| `pm:blocked`, a line-initial `Unlock-action:` line (body or comments)
| untouched: the card names an unlock other than closure | as before |
| `pm:blocked`, the comment thread unreadable or over its page bound |
untouched (an open blocker could be in it) | as before |
| `pm:blocked`, every target a closed LOCAL card, card **assigned** |
untouched: moving it is the holder's release act | a note naming the
holder |
| `pm:blocked`, every target a closed LOCAL card, no `Unlock-action:`
line, unassigned | `pm:blocked` → `pm:queue` | a `## State:` note naming
each closed target |
No grade label (priority, lane, type) is ever written, no other label is
touched, the assignee is never touched, and no comment is posted. Not a
gate.
**Files:** `scripts/ci/scheduled-full-run.mjs` (the judgement, the swap,
the note, the self-test battery) and
`.github/workflows/scheduled-full-run-card.yml` (four thin callbacks
plus `ownerRepo`; header and log line updated).
## 1 parent 889bf12 commit 2b7fc52
2 files changed
Lines changed: 614 additions & 16 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
45 | | - | |
46 | | - | |
47 | | - | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
48 | 58 | | |
49 | 59 | | |
50 | 60 | | |
| |||
113 | 123 | | |
114 | 124 | | |
115 | 125 | | |
116 | | - | |
| 126 | + | |
117 | 127 | | |
118 | 128 | | |
119 | 129 | | |
| |||
214 | 224 | | |
215 | 225 | | |
216 | 226 | | |
217 | | - | |
218 | | - | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
219 | 230 | | |
220 | 231 | | |
221 | 232 | | |
| 233 | + | |
222 | 234 | | |
223 | 235 | | |
224 | 236 | | |
| |||
236 | 248 | | |
237 | 249 | | |
238 | 250 | | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
239 | 270 | | |
240 | 271 | | |
241 | 272 | | |
242 | | - | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
243 | 276 | | |
244 | 277 | | |
245 | 278 | | |
| |||
0 commit comments