Switching to ruleset (even in eval mode) prevents merge queue bypass #196766
Replies: 2 comments
-
|
💬 Your Product Feedback Has Been Submitted 🎉 Thank you for taking the time to share your insights with us! Your feedback is invaluable as we build a better GitHub experience for all our users. Here's what you can expect moving forward ⏩
Where to look to see what's shipping 👀
What you can do in the meantime 💻
As a member of the GitHub community, your participation is essential. While we can't promise that every suggestion will be implemented, we want to emphasize that your feedback is instrumental in guiding our decisions and priorities. Thank you once again for your contribution to making GitHub even better! We're grateful for your ongoing support and collaboration in shaping the future of our platform. ⭐ |
Beta Was this translation helpful? Give feedback.
-
|
#196766 - Switching to ruleset prevents merge queue bypass This is a known behavior when migrating from branch protection rules to repository rulesets. Even in evaluate mode, enabling a merge queue in a ruleset changes how bypass permissions work for the affected branches. What is happeningWhen you enable "Require a merge queue" in a ruleset (even in evaluate mode), GitHub starts evaluating merge queue requirements for matching branches. This interacts with bypass permissions differently than traditional branch protection:
This means a user in the bypass list can still push directly, but pull requests still go through the merge queue because bypass does not apply to the merge queue scheduling system. WorkaroundUntil GitHub fixes this interaction:
Migration best practiceWhen switching from branch protection to rulesets:
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
🏷️ Discussion Type
Bug
Body
We have a repo with traditional branch protection that I've been working on cutting over to new rulesets.
This mostly looks fine, but even in evaluate mode, I'm noticing that turning on "merge queue" in the ruleset makes the bypass option
With only traditional branch protection:

But with these rulesets in place (whether in "evaluate" or "active"), that bypass option doesn't show up in the UI, even if one is in the group in the "bypass" list. I've also tried toggling "restrict updates" or "restrict creations" on or off - same behavior either way.
Is there a setting I'm missing?
I've also tried making a second, separate ruleset, putting the merge queue rules in that one, and explicitly giving the same groups bypass permissions, but I still don't see the option to bypass merge queue. I've also looked at the "push" and "update"
Beta Was this translation helpful? Give feedback.
All reactions