@@ -2,39 +2,34 @@ name: Auto-Merge Agent PRs
22
33on :
44 pull_request :
5- types : [draft, opened, synchronize, reopened, ready_for_review ]
5+ types : [opened, synchronize]
66 branches :
77 - master
88
99permissions :
1010 pull-requests : write
1111 contents : write
12+ issues : write
1213
1314jobs :
1415 auto-merge :
1516 runs-on : ubuntu-latest
16- # Only for PRs from Copilot with agent labels
17- if : |
18- github.actor == 'github-copilot[bot]' &&
19- (contains(github.event.pull_request.labels.*.name, 'riddle') ||
20- contains(github.event.pull_request.labels.*.name, 'mapper-request') ||
21- contains(github.event.pull_request.title, 'riddle') ||
22- contains(github.event.pull_request.title, 'Riddle') ||
23- contains(github.event.pull_request.title, 'Mapping'))
17+ # Only for PRs from Copilot
18+ if : github.actor == 'github-copilot[bot]'
2419 steps :
25- - name : Remove owner from assignees, keep only Copilot
20+ - name : Check out repository
21+ uses : actions/checkout@v4
22+
23+ - name : Remove owner from assignees and reviewers
2624 uses : actions/github-script@v7
2725 with :
2826 github-token : ${{ secrets.PAT_GITHUB }}
2927 script : |
3028 const pr = context.payload.pull_request;
3129 const owner = context.repo.owner;
32-
33- // Get current assignees
3430 const currentAssignees = pr.assignees.map(a => a.login);
35- console.log('Current assignees:', currentAssignees);
3631
37- // Remove the owner if assigned
32+ // Remove owner from assignees
3833 if (currentAssignees.includes(owner)) {
3934 await github.rest.issues.removeAssignees({
4035 owner: context.repo.owner,
@@ -45,32 +40,38 @@ jobs:
4540 console.log(`✅ Removed ${owner} from assignees`);
4641 }
4742
48- // Ensure Copilot is assigned
49- if (!currentAssignees.includes('github-copilot[bot]')) {
50- await github.rest.issues.addAssignees ({
43+ // Remove owner from requested reviewers
44+ try {
45+ await github.rest.pulls.removeRequestedReviewers ({
5146 owner: context.repo.owner,
5247 repo: context.repo.repo,
53- issue_number : pr.number,
54- assignees : ['github-copilot[bot]' ]
48+ pull_number : pr.number,
49+ reviewers : [owner ]
5550 });
56- console.log('✅ Added github-copilot[bot] to assignees');
51+ console.log(`✅ Removed ${owner} from reviewers`);
52+ } catch (e) {
53+ console.log('No reviewer to remove or already removed');
5754 }
5855
59- - name : Mark PR as ready for review (remove draft status)
56+ - name : Mark PR as ready for review
6057 run : |
6158 gh pr ready "${{ github.event.pull_request.number }}"
6259 env :
6360 GH_TOKEN : ${{ secrets.PAT_GITHUB }}
6461
65- - name : Auto-approve Copilot PR
62+ - name : Approve PR
6663 run : |
67- gh pr review --approve "${{ github.event.pull_request.number }}" \
64+ gh pr review "${{ github.event.pull_request.number }}" \
65+ --approve \
6866 --body "✅ Auto-approved: Copilot-generated agent PR"
6967 env :
70- GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
68+ GH_TOKEN : ${{ secrets.PAT_GITHUB }}
7169
72- - name : Enable auto-merge
70+ - name : Enable auto-merge with squash
7371 run : |
74- gh pr merge --auto --squash "${{ github.event.pull_request.number }}"
72+ gh pr merge "${{ github.event.pull_request.number }}" \
73+ --auto \
74+ --squash \
75+ --delete-branch
7576 env :
7677 GH_TOKEN : ${{ secrets.PAT_GITHUB }}
0 commit comments