Open
Conversation
4b16665 to
f398497
Compare
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 does this change?
Add support to our CI pipelines for Merge Queues.
This is based on discussions in the Engineering channels about preferring "Merge Queues" over "Auto merge".
Frequently I will find that a PR is out of date from the mainline branch after its been approved, usually in this scenario I will hit the "Update" button and then "Auto-merge" so that the PR will be merged once checks have finished running on the now updated PR.
Ocassionally, more than one person might be working on a repo, and between the time that I've hit the "Update" button and CI completing, someone else might merge another change in which puts my PR out of date again, requiring me to update the PR again and start my CI from scratch.
Merge queues fixes this issue by basically managing the process of updating your PR and running CI automatically, so if
mainis updated after you've hit the merge button on your PR the merge queue will take care of updating your branch and making sure CI still works."Auto-merge" also has the unfortunate effect that sometimes it will be enabled before a PR is approved, this goes against the way we usually treat reviews at The Guardian, where the PR creator is usually responsible for supervising its deployment, "Auto-merge" flips this on its head and makes the approver potentially responsible for the merge. We do run a "no blame" culture, so its not like the approver has done anything wrong, but it can be a barrier to approving a PR when you know that you'll potentially have to be the one monitoring it.
After merging this PR we can remove the check for a branch to be up to date before merging and then enable merge queues in our branch protection rules.