-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Use GitHub's automerge instead of Mergify #9126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
If for some reason a status check fails but we still want to merge (maybe some dependency is temporarily failing to download because a server is down), as admins we can still click to bypass the rules and merge.
Updated ruleset for this:
imageAlso requires "Allow auto-merge" at https://github.com/python-pillow/Pillow/settings. I also checked "Automatically delete head branches" to keep things tidy:
image#9097 and #8926 are showing an interesting side effect of these changes in settings - when we skip workflows, because we're only building docs or only building wheels, the 'Successful' checks are now just showing as 'pending'.
It doesn't cause any problems, it makes you think something might be wrong.
Hmm, it actually does cause a problem, because it blocks merge (although you can use admin permissions to bypass it):
imageLet's hold off on this for now, and I've disabled the ruleset ("Enforcement status: Disabled") at https://github.com/python-pillow/Pillow/settings/rules/7135275.
Uh oh!
There was an error while loading. Please reload this page.
We first set up Mergify in 2020 to automerge PRs once certain conditions were met: CI has passed, PR is approved,
automerge
label added: #4931.Since then, GitHub has added native automerge which is a bit nicer to use: no need to add a label, and while the CI is still running, the "Merge pull request" button becomes an "Enable auto-merge" button, which will do the merge when the CI passes.
Docs: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request
I've created a ruleset for the
main
branch at 🔒 https://github.com/python-pillow/Pillow/settings/rules/7135275. There are lots of settings, but I've mirrored the Mergify ones:Require these status checks to pass:
Also left this enabled, because we don't want to accidentally delete
main
:We don't need to add a label, because it's now signalled by clicking "Enable auto-merge".
And we don't require explicit approval, because that's also implicit when clicking "Enable auto-merge" (similarly, for a PR where the CI has already passed, we don't require explicit approvals).
If for some reason a status check fails but we still want to merge (maybe some dependency is temporarily failing to download because a server is down), as admins we can still click to bypass the rules and merge.
Screenshots of all the settings
image image image