Skip to content

Commit b33a799

Browse files
committed
ci: fold the four daily patrols into one fleet-patrols.yml workflow
required-set-patrol, platform-checklist-watchdog, release-coverage-patrol and board-snapshot become four jobs of .github/workflows/fleet-patrols.yml. Each job keeps the retired file's steps, permissions, concurrency group and env byte-for-byte; a job-level `if:` gates it to its own cron (github.event.schedule), workflow_dispatch takes a `patrol` input to fire one job by hand, and the pull_request trigger is the union of the four retired filters. The two gates that read those files by name follow the rename: check-required-contexts' PATROL_WORKFLOW and the platform-checklist watchdog pin, whose allowed pull_request path list is now the frozen union (its self-test drives the widened and the narrowed shapes). The anchor renderer's published preamble, the archiver's adopt list and the two platform-checklist docs name the new file. Claude-Session: https://claude.ai/code/session_01JQwxbW8nFvKeVjgKv8RTwH Co-authored-by: Claude <noreply@anthropic.com>
1 parent d0a7e74 commit b33a799

11 files changed

Lines changed: 1499 additions & 1406 deletions

‎.github/workflows/board-snapshot.yml‎

Lines changed: 0 additions & 429 deletions
This file was deleted.

‎.github/workflows/fleet-patrols.yml‎

Lines changed: 1427 additions & 0 deletions
Large diffs are not rendered by default.

‎.github/workflows/platform-checklist-watchdog.yml‎

Lines changed: 0 additions & 427 deletions
This file was deleted.

‎.github/workflows/release-coverage-patrol.yml‎

Lines changed: 0 additions & 308 deletions
This file was deleted.

‎.github/workflows/required-set-patrol.yml‎

Lines changed: 0 additions & 207 deletions
This file was deleted.

‎docs/qa/platform-checklist/README.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ Why this shape:
211211
census and not a verdict). Adding anchors never reds; ⛔ lowering a floor is
212212
MAINTAINER-ONLY. ⚠️ Note what a red here reaches: `check:platform-checklist` is not
213213
CI-wired (see "Operating cadence"), so it reaches whoever runs the gate — **not every
214-
PR** — plus the daily `platform-checklist-watchdog` workflow, which files or refreshes
214+
PR** — plus the daily `platform-checklist-watchdog` job of `fleet-patrols.yml`, which files or refreshes
215215
one issue when the gate is red.
216216
- **`why` is the debt marker.** A recipe exists because stock fixtures cannot demonstrate
217217
something — the same discipline as a coverage waiver. Landing the fixture in the
@@ -433,7 +433,7 @@ checklist drift. It runs on a **manual / periodic cadence** instead. Run
433433
- **alongside a `checklist-author`** (find gaps) **or `checklist-test`** (execute items).
434434

435435
A red gate does have a reporting channel, and it is not this cadence:
436-
[`.github/workflows/platform-checklist-watchdog.yml`](../../../.github/workflows/platform-checklist-watchdog.yml)
436+
the `platform-checklist-watchdog` job of [`.github/workflows/fleet-patrols.yml`](../../../.github/workflows/fleet-patrols.yml)
437437
runs `pnpm check:platform-checklist` on `main` daily and files or refreshes one issue when
438438
it is red (⛔ and does nothing when it is green). That closes the visibility half only —
439439
the cadence above is still how the gate gets run *before* a red can matter.

‎docs/qa/platform-checklist/RUNNER.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ contract.
1414
**Who sees a red gate.** `pnpm check:platform-checklist` is not wired into per-PR CI (a
1515
standing maintainer decision — see the README's "Operating cadence"), so the channel that
1616
sees its red is
17-
[`.github/workflows/platform-checklist-watchdog.yml`](../../../.github/workflows/platform-checklist-watchdog.yml):
17+
the `platform-checklist-watchdog` job of [`.github/workflows/fleet-patrols.yml`](../../../.github/workflows/fleet-patrols.yml):
1818
it runs the gate on `main` daily, files or refreshes exactly one issue when the gate is red,
1919
and does nothing at all when it is green.
2020

0 commit comments

Comments
 (0)