Summary
Add a bot-driven /merge workflow so an authorized developer can request a pull request merge by posting an exact /merge issue comment. The request should remain pending until every repository merge requirement is satisfied, then squash-merge the current PR head automatically.
This removes the manual timing window after CI and approvals complete, during which another merge or dependency/submodule update can make the PR stale and require another CI cycle.
Goals
Command handling
Authorization
Merge eligibility
Before merging, verify:
Pending and failed requests
Merge execution
/merge nosquash
Security
Reevaluation events
Reevaluate a pending request after:
Repository requirements
Why native GitHub auto-merge is insufficient
Native auto-merge covers the core checks/reviews/squash workflow, but it does not provide:
- Exact
/merge command parsing and auditing
- Required or blocking label policy without a custom required check
- Persistence after all external-contributor pushes or base-branch changes
- Custom blocker reporting and retry behavior
- Automated RAPIDS-style commit metadata generation
- Conditional
/merge nosquash behavior
- A bot-only normal merge path with a documented emergency bypass
Acceptance criteria
Summary
Add a bot-driven
/mergeworkflow so an authorized developer can request a pull request merge by posting an exact/mergeissue comment. The request should remain pending until every repository merge requirement is satisfied, then squash-merge the current PR head automatically.This removes the manual timing window after CI and approvals complete, during which another merge or dependency/submodule update can make the PR stale and require another CI cycle.
Goals
/mergebefore or after CI completes.Command handling
/mergeonly when it is the complete issue-comment body after trimming whitespace.Authorization
/merge; initially requirewriteoradminpermission.Merge eligibility
Before merging, verify:
CHANGES_REQUESTEDreview exists from a user withwrite,admin, orowneraccess.DO NOT MERGEare absent.Pending and failed requests
Merge execution
<PR title> (#<PR number>)./merge nosquash/merge nosquashon normal feature and bug-fix PRs.Security
issue_commentorpull_request_target.Reevaluation events
Reevaluate a pending request after:
/mergecomment creationRepository requirements
/mergeinCONTRIBUTING.mdor.github/PULL_REQUEST_TEMPLATE.md.Why native GitHub auto-merge is insufficient
Native auto-merge covers the core checks/reviews/squash workflow, but it does not provide:
/mergecommand parsing and auditing/merge nosquashbehaviorAcceptance criteria
/mergecomment without further human action.