MetaMask / MetaMask/metamask-extension
Create stable merging automation
- Dominant language
- TypeScript
- Stars
- 13.2k
- Forks
- 5.6k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 451
Description
### What is this about?
Description:
We need a GitHub Action that can be triggered via a comment on a PR (e.g., @metamaskbot merge release). This action should be executed by a privileged GitHub App or bot user (metamaskbot) and perform the following:
Linked issue: https://github.com/MetaMask/MetaMask-planning/issues/4212
Requirements:
Trigger:
- The action should run when a specific comment is posted on a PR, such as: `@metamaskbot merge release`
Validation:
- The PR must be approved (i.e., it has the required number of reviewer approvals).
- All required CI checks must be passing.
Merge Strategy:
- If the above conditions are met, the bot should perform a "merge commit" (not a squash or rebase).
- The target branch should be stable.
- This action is specifically intended for merging release branches into `stable`.
Notes:
Ensure that only metamaskbot can execute the merge to maintain control and auditability.
The action should fail gracefully and comment on the PR if validation fails (e.g., missing approval, failing CI).
Bonus: Add a confirmation comment after a successful merge.
### Scenario
_No response_
### Design
_No response_
### Technical Details
_No response_
### Threat Modeling Framework
_No response_
### Acceptance Criteria
_No response_
### Stakeholder review needed before the work gets merged
- [x] Engineering (needed in most cases)
- [ ] Design
- [ ] Product
- [ ] QA (automation tests are required to pass before merging PRs but not all changes are covered by automation tests - please review if QA is needed beyond automation tests)
- [ ] Security
- [ ] Legal
- [ ] Marketing
- [ ] Management (please specify)
- [ ] Other (please specify)
### References
_No response_
Contributor guide
Research direction
Start by reviewing the linked planning issue and the comment-triggered GitHub Action requirements. Done means only metamaskbot can merge approved release branches into stable with passing CI, while validation failures receive a PR comment and successful merges may receive confirmation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions
- Domain
- ci-cd, devops, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100