-
Notifications
You must be signed in to change notification settings - Fork 68.8k
Rulesets docs don't disclose that bypass_actors is not honored by auto-merge completion #45265
Copy link
Copy link
Open
Labels
Waiting on SME reviewThe request for a technical review by a subject matter expert has stalled.The request for a technical review by a subject matter expert has stalled.contentThis issue or pull request belongs to the Docs Content teamThis issue or pull request belongs to the Docs Content teamneeds SMEThis proposal needs review from a subject matter expertThis proposal needs review from a subject matter expertnever-staleDo not close as staleDo not close as stalerepositoriesContent related to repositoriesContent related to repositories
Description
Activity
Metadata
Metadata
Assignees
Labels
Waiting on SME reviewThe request for a technical review by a subject matter expert has stalled.The request for a technical review by a subject matter expert has stalled.contentThis issue or pull request belongs to the Docs Content teamThis issue or pull request belongs to the Docs Content teamneeds SMEThis proposal needs review from a subject matter expertThis proposal needs review from a subject matter expertnever-staleDo not close as staleDo not close as stalerepositoriesContent related to repositoriesContent related to repositories
Page(s) affected
What's wrong
The Rulesets documentation describes
bypass_actors(a Team, Role, GitHub App/Integration, etc. added to a ruleset's bypass list) as being able to bypass a rule such as "Require a pull request before merging" / "Require review from Code Owners". It does not document an important limitation we've confirmed by testing: the bypass grant is only honored by a synchronous, direct merge call — it is not consulted by GitHub's async auto-merge completion process (gh pr merge --auto,enablePullRequestAutoMerge, or the "Merge when ready" UI button).Repro / evidence
pull_requestrule,require_code_owner_review: true,required_approving_review_count: 1, with a GitHub App added tobypass_actors(Integrationtype; tested bothbypass_mode: "always"and"pull_request").gh pr merge --auto --squash) stayedmergeStateStatus: BLOCKED/reviewDecision: REVIEW_REQUIREDindefinitely — confirmed via a clean 10-minute poll (every 20s, 30/30 polls) with a fresh trigger event and zero manual intervention.So the bypass mechanism works, but only for one of the two documented ways to merge a PR, and the docs don't call this out anywhere.
What we'd like to see
A note on the bypass_actors / rules pages clarifying that bypass grants are not currently honored by auto-merge completion, and that automation relying on bypass should call the merge endpoint directly rather than enabling auto-merge, until/unless this is fixed at the platform level.
Related reports (same underlying platform behavior, not a docs-only issue)