From 1b5504e3907a1ab6fbe184f16ca2e923cdbcb621 Mon Sep 17 00:00:00 2001 From: garethx Date: Wed, 12 Aug 2026 11:45:15 +0100 Subject: [PATCH] Check the CI gate against check-runs, not the legacy status API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The release checklist's CI gate reads `commits//status`, which reports the legacy commit Status API. This repo publishes GitHub Checks and records no legacy statuses, so that endpoint answers `pending` no matter what — it reported `pending` for v0.1.2 while all six checks were green. A gate that is permanently red is worse than no gate: it either blocks every release or teaches you to ignore it. Asking for check-runs answers the question actually being asked. Co-Authored-By: Claude Opus 5 --- skills/hermes-hookdeck-release/SKILL.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/skills/hermes-hookdeck-release/SKILL.md b/skills/hermes-hookdeck-release/SKILL.md index ee70265..c9f64d8 100644 --- a/skills/hermes-hookdeck-release/SKILL.md +++ b/skills/hermes-hookdeck-release/SKILL.md @@ -198,10 +198,15 @@ only for a first-time contributor or an exceptionally large contribution. 6. **CI:** ```bash - gh api "repos/hookdeck/hermes-hookdeck/commits/$(git rev-parse origin/main)/status" --jq .state + gh api "repos/hookdeck/hermes-hookdeck/commits/$(git rev-parse origin/main)/check-runs" \ + --jq '.check_runs[] | "\(.name): \(.status)/\(.conclusion // "-")"' ``` - Do not release on `failure`, or on `pending` for required checks. + Every run must be `completed/success`. Do not release otherwise. + + Ask for **check-runs**, not `/status`. The latter reports the legacy commit + Status API, which this repo does not use — with no statuses recorded it + answers `pending` forever, so it reads as a red gate on a green `main`. ## Safety and governance