Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

Draft
hugovk wants to merge 2 commits into python-pillow:main
base: main
Choose a base branch
Loading
from hugovk:rm-mergify

Conversation

Copy link
Member

@hugovk hugovk commented Aug 2, 2025
edited
Loading

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:

  • Restrict deletions
    Only allow users with bypass permissions to delete matching refs.

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

Copy link
Member Author

hugovk commented Aug 2, 2025

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:

image

Copy link
Member Author

hugovk commented Aug 2, 2025

Also requires "Allow auto-merge" at https://github.com/python-pillow/Pillow/settings. I also checked "Automatically delete head branches" to keep things tidy:

image

Copy link
Member

#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.

Copy link
Member Author

hugovk commented Aug 3, 2025

Hmm, it actually does cause a problem, because it blocks merge (although you can use admin permissions to bypass it):

image

Let'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.

@hugovk hugovk marked this pull request as draft August 3, 2025 09:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@radarhere radarhere radarhere approved these changes

Assignees

No one assigned

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

2 participants

AltStyle によって変換されたページ (->オリジナル) /