Skip to content

ci: move the GitHub-state gates out of the test suite into issue-triage (#1275) - #1284

Merged
InauguralPhysicist merged 3 commits into
mainfrom
ci/github-state-out-of-suite-1275
Sep 23, 2026
Merged

InauguralPhysicist merged 3 commits into
mainfrom
ci/github-state-out-of-suite-1275

Conversation

@InauguralPhysicist

Copy link
Copy Markdown
Collaborator

Part of #1275 (gate consolidation). Implements the DoD item "housekeeping out of CI".

Why: tools/issue_labels_check.sh and tools/roadmap_check.sh read LIVE repository state, so as suite section [99zd] their verdict changed without any commit. On 2026-09-23 alone: an unrelated unlabeled issue turned #1273 red (#1279), and #1168 ejected #1282 from the merge queue for ~2h.

What:

  • The two gates run only in .github/workflows/issue-triage.yml, which already ran both daily with its own pinned copies of each contract. It gains a path-filtered pull_request trigger (the two gates, gh_probe.sh, ROADMAP.md, the workflow itself), so a PR that edits a gate still runs it. That run is advisory and never a required check.
  • [99zd] keeps the one part that reads only the tree: tools/workflow_yaml_check.sh + selftest (−450 runner lines). Standalone check: green clean; red with the gate gutted to exit 0.
  • No GitHub caller is left in the suite, so the Linux jobs drop issues: read + GH_TOKEN, and the dev image drops its pinned gh tarball.
  • docs/CI.md's labels/roadmap section is rewritten around where the gates run now (−194 lines of suite-caller history). The tools' headers name the one remaining caller. The Unreleased changelog is corrected, plus a new entry.

Floors lowered deliberately:

  • child_exit_check 126 → 122 (the section's six child-invocation lines became two)
  • docs-claims PATHS|docs/CI.md 68 → 65
  • 7 section_plan skip waivers for deleted lines removed; the skip audit reads unaccounted=0

Net: +83 / −736.

Local verification:

  • make precheck: 19/19 passed
  • full suite: RESULTS: 5341/5341 passed, 0 failed, 11 skipped

🤖 Generated with Claude Code

…ge (#1275)

tools/issue_labels_check.sh and tools/roadmap_check.sh read live repository
state, so as suite section [99zd] their verdict changed without any commit:
an unrelated issue filed without labels turned PR #1273 red (#1279) and
ejected #1282 from the merge queue for two hours (#1168).

They now run only in .github/workflows/issue-triage.yml, which already ran
both daily with its own pinned copies of each contract. It gains a
path-filtered pull_request trigger (the gates, gh_probe.sh, ROADMAP.md, the
workflow), so a PR that edits a gate still runs it, as an advisory check
that is never required.

[99zd] keeps the one part that reads only the tree, workflow_yaml_check.sh
(-450 runner lines). With no GitHub caller left in CI's suite lanes, the
Linux jobs drop their issues: read token and the dev image drops its pinned
gh tarball. docs/CI.md's section is rewritten around where the gates run
now (-194 lines of suite-caller history); the tools' headers name the one
remaining caller.

Floors lowered deliberately: child_exit_check 126 -> 122 (the section's six
child invocations became two), docs-claims PATHS|docs/CI.md 68 -> 65. Seven
section_plan skip waivers for deleted lines are removed.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@InauguralPhysicist InauguralPhysicist added area:ci Subsystem: ci area:gates Subsystem: gates labels Sep 23, 2026
@codspeed

codspeed Bot commented Sep 23, 2026 •

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 12 untouched benchmarks


Comparing ci/github-state-out-of-suite-1275 (07d9223) with main (f13d80c)

Open in CodSpeed

… fail (#1275)

/code-review on #1284 found two holes. The new [99zd] accepted any
workflow_yaml_check selftest that exited 0, so a gutted selftest or a loader
skip on a lane that has PyYAML passed; it now pins the exact SELFTEST: line
with the skip count taken from its own PyYAML probe (planted: a gutted
--selftest and a dropped case are both red). And in issue-triage the
roadmap step ran after the labels step with no guard, so an unrelated
unlabelled issue skipped the roadmap gate on the very PRs the new trigger
exists for; it now runs under !cancelled().

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… pointers (#1275)

Blind critic (Astra) on #1284: nothing reads workflow_yaml_check --contract
since its suite caller pins the OK and SELFTEST lines directly, so the mode
and its SELFTEST_CASES constant go. gh_probe.sh pointed at a CI.md paragraph
this PR removed, and a changelog 'see below' pointed at an entry above it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@InauguralPhysicist
InauguralPhysicist added this pull request to the merge queue Sep 23, 2026
Merged via the queue into main with commit c8288a5 Sep 23, 2026
36 checks passed
@InauguralPhysicist
InauguralPhysicist deleted the ci/github-state-out-of-suite-1275 branch September 23, 2026 22:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:ci Subsystem: ci area:gates Subsystem: gates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant