Skip to content

docs: record which checks are required on main, and why no path filter - #62

Merged
forkwright merged 1 commit into
mainfrom
docs/record-required-checks
Aug 26, 2026
Merged

docs: record which checks are required on main, and why no path filter#62
forkwright merged 1 commit into
mainfrom
docs/record-required-checks

Conversation

@forkwright

Copy link
Copy Markdown
Owner

Finding

forkwright/.github required zero status checks to merge. The repository authoring the
reusables eleven repos inherit had one approving review as its entire merge control.

Evidence

$ gh api repos/forkwright/.github/branches/main/protection/required_status_checks
404 — Required status checks not enabled

Observed consequence: #57 and #58 both reported mergeStateStatus: CLEAN with an empty
statusCheckRollup — CLEAN because nothing was blocking, not because anything passed.

Why this PR exists, and what it is for

#59 removed the paths: filter from actionlint.yml so actionlint and event-shape-guards
run on every PR. That is the precondition for making them required — a required check that cannot
run on some PRs blocks those PRs permanently.

This PR is the probe for that. It touches only README.md — neither .github/workflows/** nor
scripts/**, the two paths the old filter named. If both checks report here, the filter drop is
demonstrated rather than assumed, and the required contexts can be set on that evidence.

#60 could not serve: it touched scripts/render_readme_tables.py, so it would have run under the
old filter either way.

Desired correction

Record which checks are required and why the trigger must stay unfiltered. The warning is the
load-bearing half — the filter was not arbitrary, and someone restoring it for the obvious reason
("why lint workflows on a docs PR?") would make every PR touching neither path unmergeable. That
has already happened to a sibling repo's main, so the constraint is written down rather than left
to be rediscovered.

Done when: both checks appear on this PR, required_status_checks on main names them, and
this PR merges through the protection it documents.

Note

Deliberately not in scope: enforce_admins stays false. Raising it removes the --admin path
that is currently the only way to land in a private fleet repo during the account's Actions billing
lockout. A hold with a reason, revisitable once minutes return.

This repository authors the reusables eleven repos inherit and until today
required ZERO status checks to merge -- one approving review was the entire
control. #59 removed the `paths:` filter from actionlint.yml so both guards run
on every PR, which is the precondition for requiring them.
The warning is the part worth writing down. The filter was not arbitrary: it
existed so the workflow only ran when workflows or scripts changed. Removing it
is what makes the checks eligible to be required, and reintroducing one would
make every PR touching neither path unmergeable -- nothing failing, nothing
pending, nothing to point at. That failure has already happened to a sibling
repo's main, so the constraint is recorded here rather than left to be
rediscovered.
This file touches neither `.github/workflows/**` nor `scripts/**`, which makes
it the probe: if both checks report on this PR, the filter drop is demonstrated
rather than assumed, and the required contexts can be set on that evidence.
@forkwright
forkwright merged commit d49f2e2 into mainAug 26, 2026
2 checks passed
@forkwright
forkwright deleted the docs/record-required-checks branch August 26, 2026 20:44
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@forkwright