GH Actions: add merge-conflict check #391
Merged
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.
Context
Summary
This PR can be summarized in the following changelog entry:
Relevant technical choices:
This commit adds a new workflow which runs on pushes (merges) to any of the long-running branches and whenever the contents of a pull requests changes.
It will check whether any open PRs are in a "conflict state" (after the push) and if so, will add a "merge conflict" label and leave a comment on the PR asking the OP to solve the conflict. The workflow will automatically remove the label again when the conflict is resolved.
This workflow uses a reusable action stored in the
.github
repository which takes care of the default settings, though a number of settings can still be overruled for an individual repo.For now, it has not been deemed necessary to overrule these though.
Test instructions
Test instructions for the acceptance test before the PR gets merged
This PR can be acceptance tested by following these steps:
This means some tweaks may be needed after the merge. However, the principle of the workflow has been tested and used in other repos (like PHPCS) for a while, so I don't expect any issues.
Only real question is how well this will work with a reusable workflow, so consider this PR the test for all repos. There is a PR open with a merge conflict. If the label + comment appear once this workflow is merged, we should be good (and yes, I will check this).