feat: enable GitHub merge queues #1849
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.
GitHub merge queues prevent a family of breakage that this schema stolen from Bors explains perfectly.
It happens recently in this repo, when merging #1668, the PR tests were green, but the exact same check failed when merged into
develop. Merge queues basically just invert those steps, running first the checks on merged code, and then updating thedevelopbranch (without then needing to rerun the tests afterward).This PR adds the needed workflow event, but this requires also some admin steps: Settings => Branches => Branch protection rules (create or update one for
develop); Check the "Require merge queue" box and (higher in the settings page) in "Require status checks to pass before merging" the workflow needed to pass before merging needs to be listed; save your changes.n.b. I should mention that I'm personally more used to Bors and would like to dive a bit deeper into subtle differences in merge queues design.