Skip to content

chore: probe required status checks - #453

Closed
jimisola wants to merge 1 commit into
mainfrom
chore/probe-required-status-checks
Closed

chore: probe required status checks#453
jimisola wants to merge 1 commit into
mainfrom
chore/probe-required-status-checks

Conversation

@jimisola

Copy link
Copy Markdown
Member

Throwaway. Empty commit, no files changed. Will be closed, not merged.

reqstool/.github#117 made eight contexts required on this repo's protect-main. That has never run against a live PR, and the failure mode is quiet: a required context whose name does not match anything does not fail a PR — it blocks it indefinitely on Expected — waiting for status to be reported.

So the list needs confirming here before the same is done to a second repo.

What this checks

All eight required contexts should report:

  • build
  • Reuse linting job / linting
  • check / Validate PR title
  • DCO
  • Analyze (actions), Analyze (javascript-typescript), Analyze (python)
  • CodeQL

Two of those — Reuse linting job / linting and check / Validate PR title — are reusable-workflow calls, reported as <caller job> / <called job>. Those are the ones most likely to be wrong, because renaming either job in reqstool/.github silently renames the context here.

renovate/stability-days is deliberately not required: it only ever reports on Renovate's own PRs, so requiring it would block every human PR — including this one. If this PR merges cleanly on the checks, that exclusion was right.

Why an empty commit

A PR with no file changes still triggers every workflow, so the full check set reports, while there is nothing to review and nothing that could be merged by mistake.

Empty commit. reqstool/.github#117 made eight contexts required on this
repo and that has never been exercised on a real PR. A required context
whose name is wrong does not fail a PR -- it blocks it forever on
"Expected - waiting for status to be reported" -- so the list needs
confirming against a live PR before the same is done to another repo.

No files change, so there is nothing here to review or merge. To be
closed once the checks have reported.

Refs reqstool/.github#116

Signed-off-by: Jimisola Laursen <jimisola@jimisola.com>
@jimisola

Copy link
Copy Markdown
Member Author

Probe done, closing as planned. Result: the required-checks list is correct.

All eight required contexts reported

Compared as sets against the live ruleset rather than read by eye — nothing missing, so nothing hangs on Expected — waiting for status to be reported:

required contexts that did NOT report: (none)

build, Reuse linting job / linting, check / Validate PR title, DCO, Analyze (actions), Analyze (javascript-typescript), Analyze (python), CodeQL — all present, all passing.

The two reusable-workflow contexts were the ones worth worrying about, since they are reported as <caller job> / <called job> and a rename in reqstool/.github would silently break the match here. Both matched.

Blocked only by the review requirement

mergeable=MERGEABLE  mergeState=BLOCKED  review=REVIEW_REQUIRED

BLOCKED with MERGEABLE and REVIEW_REQUIRED is the right shape: the checks are satisfied and the only thing outstanding is the approving review. Had a required context been misnamed, this would look identical from the outside — which is exactly why the set comparison above was the actual test.

renovate/stability-days confirmed absent on a human PR

It did not appear here. That was the reasoning for excluding it from the required list, previously inferred from comparing #451 and #452; this is direct confirmation on a fresh human PR. Had it been required, this PR would have been blocked permanently, and so would every other human PR on this repo.

For the rollout

reqstool/.github#116 can proceed to a second repo. The method holds: derive each list as the intersection of a human PR and a Renovate PR, then probe with an empty commit before trusting it.

@jimisola jimisola closed this Aug 30, 2026
Sign up for free to 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