ci: scope the Fix Regression Gate to code paths, read all three closing forms - #619
Merged
azimafroozeh merged 1 commit intoSep 4, 2026
Merged
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
Follow-up to #596. #594 is a workflow-only fix whose body closes issue 588 by keyword. The Fix Regression Gate turned it red. No test can exist for a workflow file, so the only way through was a maintainer applying the
no-reprolabel by hand. The gate was asking for something that cannot exist.This PR makes the gate look at which files changed before it asks for a test.
crates/ortools/(Markdown files there do not count) and none is the rootCargo.tomlorCargo.lock, the PR passes. The gate leaves a notice on the checks page naming the issues it did not examine. Those four places hold every workspace crate, so they are the only places a test can witness a change. The self-test checks that every[workspace]member sits under one of them.#N,OWNER/NAME#N, and the issue URL. Only this repository's references count (--repo, passed by the workflow asGITHUB_REPOSITORY).The rule for a fix in a crate is unchanged: an
issue_N_*.gqtcase or anissue_Ntest in the diff, or theno-reprolabel.Backing issue / RFC
docs/rfcs/0045-gq-logic-tests.md(User and operational behavior, "Fix-PR gate"). The body and a dated Decision-log entry are updated in this diff; the entry names the sentences it supersedes. No GitHub issue; ci: emit Windows checksum manifests with LF #594 is the trigger.Checklist
--self-testcovers the closing forms, the code-path list, the workspace-members pin,--repovalidation, the near-miss hints, and the failure-message shape)docs/dev/ci.md, RFC 0045,.github/PULL_REQUEST_TEMPLATE.md)Local verification
python3 scripts/check-fix-regression.py --self-test:self-test ok, from the repository root and from another directory--repo ModernRelay/omnigraph:crates/omnigraph-compiler): fails with the file list, the four ways through, the skeleton, and the error annotation, exit 1ok: issue #613 has a matching regression addition--repo ModernRelay: refused; no--repoand noGITHUB_REPOSITORY: a warning,#Nonlypython3 scripts/check-docs.py: OK (124 files)python3 scripts/check-workflow-action-pins.py: OKbash scripts/check-agents-md.sh: OKmain's copy of the script (pull_request_target), so the new script first runs live on the next fix PR after mergeNotes for reviewers
crates/,tools/, or the root manifests. A PR that touches a crate for any reason and also carries a workflow fix is examined. That is the same whole-PR grain the label has.GH-N, barefixes#N, autolinks, Markdown links, commit-message keywords, manual closes)..cargo/config.tomlandrust-toolchain.tomlare outside the code paths; the dependency axis is covered becauseCargo.tomlandCargo.lockare inside. A PR against a non-default base is examined although GitHub closes nothing there.crates/omnigraph-gqtupdates it too; the docstring says so.no-reprounchanged..gqtcase corpus #617 also appends to the RFC 0045 Decision log; whichever lands second keeps both entries in merge order.