Repository navigation
ci(conventions): check pull requests with the current base branch rules - #8892
Conversation
The workflow checked out pull_request.base.sha, the base recorded when the pull request was opened, and ran that revision's check_conventions.py. A rule merged after a pull request was opened never ran on it: boykopovar#7005 added APS5_NO_WGI without an ENVIRONMENT.md row and passed with the checker of 07e7414, which had no env-reference rule. Check out the current tip of the base branch and pass it as --base; the checker already diffs from the merge base, so only the pull request's own changes are checked. A name documented on the base branch after the branch point now counts as documented unless the pull request removes its row. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MarcZX10
left a comment
There was a problem hiding this comment.
I reviewed the base-tip checkout and checker changes, including the merge-base diff behavior and the ENVIRONMENT.md rows inherited from the current target branch. I ran python3 -m unittest discover -s tools/tests -p "test_check_conventions_*.py" (143 passed) and python3 tools/check_conventions.py --base upstream/main (passed) on this head. The PR checks also pass. I found no blocking issue; the workflow integration itself still awaits its first GitHub run after merge.
|
Checked the workflow change (current base tip with |
What
The Conventions workflow checked out
pull_request.base.sha, the base recorded when the pull request was opened, and ran that revision's checker. A rule merged after a pull request was opened never ran on it. #7005 passed with the checker of 07e7414, which had no env-reference rule, and mergedAPS5_NO_WGIwithout anENVIRONMENT.mdrow.conventions.yml: check out the current tip ofpull_request.base.refand pass--base HEAD.Checkalready diffs fromgit merge-base, so only the pull request's own changes are checked. It still runs only base-branch code and never executes pull request code.check_conventions.py: an older branch lacksENVIRONMENT.mdrows added on the base branch after its branch point. Such a row now counts as documented unless the pull request removes it. Without this, feat(input): add native SDL input configuration with ImGui #674 is reported forANYPS5_INPUT_CONFIG, which main already documents.CONTRIBUTING.md: say which checker revision runs.Effect: an open pull request that breaks a rule merged after it was opened fails on its next push, edit or reopen.
Tested
Windows 11, Python 3.14.
python -m unitteston everytools/tests/test_check_conventions_*.pyandtest_env_reference.py: all pass. The new testtest_a_row_the_target_added_after_the_branch_point_documents_the_readfails without thecheck_conventions.pychange.--base 07e741481passes. Checkout of main at the time of the run with--base HEADreportsAPS5_NO_WGI.ANYPS5_EDITOR_SCREENSHOTandAPS5_HOT_RELOAD(no rows on main). fix(agc): fault image table entries the device or guest memory cannot hold #6481 and perf(agc): wait at submit only for the preparations of the programs a submission binds #6867 newly get debt-length warnings (no errors).python tools/check_conventions.py --base origin/mainpasses.tools/pr_overlap.py: fix(tools): count assembly exports in the duplicate-export check #8777 and test: organize library tests and label CTest suites #6044 share files, and their hunks were checked by hand with no shared lines.pull_request_targetevent after merge.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)🤖 Generated with Claude Code