CI: check the XML structure of the PR head, not of the merge commit - #1605
Open
lacatoire wants to merge 1 commit into
Open
CI: check the XML structure of the PR head, not of the merge commit#1605lacatoire wants to merge 1 commit into
lacatoire wants to merge 1 commit into
Conversation
On a pull_request event, actions/checkout defaults to refs/pull/N/merge, whose second parent is master. The BASE...HEAD diff therefore also lists every file landed on master since the last push to the PR, and feeds them to check-structure.php. A pull request touching a single non-XML file was seen sending 294 unrelated .xml files to the check, failing on drift it did not introduce. Checking out the head sha restores the diff to the commits of the PR. The expected directory layout is now noted in the workflow itself.
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.
On a
pull_requestevent,actions/checkoutdefaults torefs/pull/N/merge, whose second parent is the tip ofmaster. TheBASE...HEADdiff below it then lists the pull request plus everything landed onmastersincebase.shawas frozen, and hands all of it tocheck-structure.php.Measured on a pull request of another translation touching a single
.yamlfile:.xmlbase.sha...merge commit(current)base.sha...head.sha(this change)The job failed on structural drift the pull request did not introduce. Checking out the head sha keeps the diff inside the pull request.
The layout the script expects, translation at the root and doc-en under
en/, is now stated in the workflow too.