Skip to content

Consolidate the PR-metadata policy checks into one job #15936

Open

Description

@mrveiss

Problem

A sample PR ran 72 checks; the Dev_new_gui ruleset requires 10. The other 62 still consume
runners, still restart on every push (~6 per PR), and still produce red that has to be triaged even
when it cannot block a merge.

Several are single-purpose policy checks that each pay a full job's fixed cost — runner allocation,
actions/checkout, action downloads — to run a few seconds of shell:

  • pr-template-check.yml
  • pr-issue-validation.yml
  • no-commit-trailers.yml
  • pr-queue-gate.yml
  • the *-required-context.yml shims

Scope

Collapse the PR-metadata policy checks into one job that evaluates every rule and reports a
single consolidated result — Danger-style, or a plain script; the tool matters less than the job
count. Each rule keeps its own pass/fail line in the output so a failure still names exactly what
broke.

Constraints:

Acceptance criteria

  • The PR-metadata policy checks listed above run in one job; total checks per PR drop by at least 8
  • Every folded rule still emits an individually identifiable pass/fail line
  • No check that is required today stops being enforced — state the before/after required list in the PR body
  • The consolidated rules are invocable locally by scripts/pr-preflight.sh
  • Unit tests cover each folded rule

Implementation Order

Wave: 1

Umbrella: #15932

Activity

  1. added this to the v0.10.0 milestone on Sep 12, 2026
  2. mrveiss commented on Oct 2, 2026

    @mrveiss
    OwnerAuthor

    Duplicate pair: #15936 and #15364 describe one defect. Found during the v0.10.0 full-coverage triage (#17863), by reading bodies — a title-similarity pass over all 44,253 pairs in that milestone returned a maximum of 0.357 and found this pair, and five others, not at all.

    Both collapse the same CI-babysitting workflows into one job — pr-queue-gate plus the *-required-context shims. #15364 frames it as a consolidation review of the 8 babysitting workflows, #15936 as merging the PR-metadata policy checks. Overlapping target set, same remedy.

    Evidence both resolve to: .github/workflows/ — pr-queue-gate.yml and the *-required-context.yml shims (now 7 babysitting workflows, not 8; auto-fix-formatting.yml is gone)

    Neither issue is being closed, deliberately. A duplicate pair is not a closure argument — closure needs the acceptance criteria checked per issue, which is a separate pass. In at least one of the six pairs only one member's work is actually done, so closing on duplication alone would close a live defect.

    On the relationship type: GitHub's native "duplicate" marker requires closing the issue, so it is unavailable here. This comment creates a bidirectional cross-reference instead, which is a native timeline link discoverable from both issues rather than prose in a third place. If a hierarchy is wanted, a sub-issue link can be added where one member genuinely subsumes the other.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions