gh-prs-merge: merge stacked PRs through the asynchronous merge REST endpoint - #13
Merged
Merged
Conversation
GitHub will not merge a pull request that belongs to a stack through the
GraphQL mergePullRequest mutation that `gh pr merge` calls. It refuses with
a message naming the asynchronous merge REST API, so every stacked PR the
tool judged ready came back as FAILED and the run merged nothing.
Fall back to PUT /repos/{owner}/{repo}/pulls/{n}/merge-async when the refusal
carries that message, then poll the uuid it returns until the merge settles.
The fallback is narrow on purpose: it fires only on that one refusal, still
pins the head commit, still asks for a squash, and still passes no --admin,
so eligibility and branch protections are judged exactly as before. A PR the
endpoint hands to a merge queue reports enqueued, which counts as merged here
because nothing further is ours to do.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
Merge stacked PRs through the asynchronous merge REST endpoint
GitHub will not merge a pull request that belongs to a stack through the
GraphQL mergePullRequest mutation that
gh pr mergecalls. It refuses witha message naming the asynchronous merge REST API, so every stacked PR the
tool judged ready came back as FAILED and the run merged nothing.
Fall back to PUT /repos/{owner}/{repo}/pulls/{n}/merge-async when the refusal
carries that message, then poll the uuid it returns until the merge settles.
The fallback is narrow on purpose: it fires only on that one refusal, still
pins the head commit, still asks for a squash, and still passes no --admin,
so eligibility and branch protections are judged exactly as before. A PR the
endpoint hands to a merge queue reports enqueued, which counts as merged here
because nothing further is ours to do.
Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com