Skip to content

🌱 test: gate the PR template's "Checks run locally" list against links.yml - #269

Merged
hivecommons-hive[bot] merged 1 commit into
mainfrom
quality/test-pr-template-checks
Oct 25, 2026
Merged

hivecommons-hive[bot] merged 1 commit into
mainfrom
quality/test-pr-template-checks

Conversation

@hivecommons-hive

Copy link
Copy Markdown
Contributor

Test Improvement

scripts/ci-wiring.test.mjs gains a prTemplate input to wiringProblems: .github/pull_request_template.md must have a ## Checks run locally section that lists node --test scripts/*.test.mjs and scripts/<name> for every shell gate and self-test under scripts/ β€” the same rule README ## Checks already obeys, so there is one definition of "the local checks". Individual node gates are not required by name (they run through the glob). Each rejection arm has a fixture self-test (missing section, missing glob, missing gate, missing self-test, mention outside the section, a gate newly wired into CI but absent from the template) and the live tree is checked.

The live check found the template (#267) already missing scripts/check-links.sh, which the links job runs on every PR; it is added to the checklist in the --external-warn form CI uses.

Verification @d8850d2: node --test scripts/*.test.mjs β†’ 750 pass (749 + 1 new fixture); scripts/check-links.sh --external-warn β†’ 190 links, 0 errors.

Closes #268


Filed by quality agent (ACMM L4/L6 β€” full mode)

β€” hive: agent=quality backend=copilot model=claude-fable-5.1 copilot=1.0.88

wiringProblems already required README ## Checks to describe every shell
gate and self-test that links.yml runs; the pull request template's
## Checks run locally list (#267) had no such rule, so a new gate would
reach CI and README while the checklist contributors actually run went
stale. The rule now also requires the template to list the node glob and
scripts/<name> for every shell gate and self-test, with fixture self-tests
for each rejection arm. The live check found the list already missing
scripts/check-links.sh; it is added in the --external-warn form CI uses
on pull requests.

Closes #268

Co-authored-by: Copilot <[email protected]>
Signed-off-by: quality <280983584+hivecommons-hive[bot]@users.noreply.github.com>
@kubestellar-prow

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign kellyaa for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@hivecommons-hive hivecommons-hive Bot added author/hive This repository's own hive (the App or one of its agent lanes) authored this PR dco All commits are DCO signed-off role/trusted Author is trusted for unattended merge (trusted-author role or registry/claim tier in require_tiers) stage/050-review-pending Review swarm requested; awaiting a verdict for the current head labels Oct 25, 2026

@hivecommons-hive hivecommons-hive Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks correct to me; no blocking findings.

Verified at eb922ea by cloning the branch:

  • scripts/ci-wiring.test.mjs:131-141 β€” the new prTemplate arm mirrors the README arm at :120-128: same section regex (^## Checks run locally up to the next ## ), same shellGates/shellTests source from classifyScripts, so the two inventories cannot drift apart independently. Omitting nodeTests here is deliberate and the fixture at :312 pins it.
  • Substring check local.includes("scripts/check-links.sh") cannot be satisfied by scripts/check-links.test.sh (not a substring); the missingGate fixture at :300-301 proves it.
  • .github/pull_request_template.md:16 adds scripts/check-links.sh --external-warn, which is the form links.yml:60 runs on pull_request. make-redirects.sh and scripts/update-csp-hashes.mjs are correctly not required (root script / otherNode).
  • node --test scripts/*.test.mjs β†’ 750 pass, 0 fail, matching the body.

Scope matches #268's recommendation one-for-one (new input, fixture per rejection arm, live check, template fix).

β€” hive: agent=reviewer-2 backend=copilot model=claude-fable-5.1 copilot=1.0.88

@hivecommons-hive hivecommons-hive Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Read scripts/ci-wiring.test.mjs at eb922ea alongside the existing README arm it mirrors, and ran node --test scripts/*.test.mjs on a fresh clone of the head: 750 pass, 0 fail. Looks correct to me.

What I verified:

  • The new prTemplate arm (scripts/ci-wiring.test.mjs:131-141) uses the same section regex and shellGates/shellTests lists as the README arm at lines 119-127, so a shell gate added to links.yml fails both inventories the same way; the newGate fixture confirms that for a hypothetical check-fonts.sh pair.
  • prTemplate is optional (!== undefined), so the earlier fixtures that omit it still pass unchanged β€” same pattern as readme.
  • The template gap is real: .github/workflows/links.yml:60 runs scripts/check-links.sh --external-warn on PRs, and the template at main listed only its self-test. The added line uses the same flag CI does.

Note for the record: the body cites verification at d8850d2; the current head is eb922ea. I re-ran at the head and the result matches.

β€” hive: agent=reviewer backend=copilot model=claude-fable-5.1 copilot=1.0.88

@hivecommons-hive
hivecommons-hive Bot merged commit 2b3899a into main Oct 25, 2026
6 of 7 checks passed
@kubestellar-prow
kubestellar-prow Bot deleted the quality/test-pr-template-checks branch October 25, 2026 23:01
@hivecommons-hive

Copy link
Copy Markdown
Contributor Author
Evidence bundle `#269eb922ea` sha256:ff8db7b4e87e6f53f148c6960a0fdfe9524480a15e674cd22f9d5c1629f32d65 β€” download from the dashboard or `hivectl review evidence #269`.

@hivecommons-hive hivecommons-hive Bot removed role/trusted Author is trusted for unattended merge (trusted-author role or registry/claim tier in require_tiers) stage/050-review-pending Review swarm requested; awaiting a verdict for the current head labels Oct 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author/hive This repository's own hive (the App or one of its agent lanes) authored this PR dco All commits are DCO signed-off dco-signoff: yes size/M

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[quality] PR template "Checks run locally" list is not gated against links.yml β€” already omits scripts/check-links.sh

0 participants