Skip to content
This repository was archived by the owner on Dec 25, 2025. It is now read-only.

Commit 5233c81

Browse files
committed
automerge flag
1 parent 43b1a0c commit 5233c81

File tree

4 files changed

+41
-6
lines changed

4 files changed

+41
-6
lines changed

.github/renovate.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
"pre-commit",
1111
"github-actions"
1212
],
13-
"automerge": true,
14-
"automergeType": "pr",
15-
"platformAutomerge": true,
13+
// "automerge": true,
14+
// "automergeType": "pr",
15+
// "platformAutomerge": true,
1616
"timezone": "Asia/Dubai",
1717
"schedule": [
1818
"before 10am on tuesday"

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ jobs:
4040
| branch | Target branch in the current repo | No | sync/update |
4141
| commit-message | Commit message for sync | No | chore: sync template |
4242
| test-mode | If true, skip push and PR creation | No | false |
43+
| automerge | If true, enable auto-merge for the created PR | No | false |
4344
4445
4546
## How It Works
@@ -58,7 +59,7 @@ Pull requests are created using the peter-evans/create-pull-request action, whic
5859
5960
### Auto-merge
6061
61-
After a PR is created, this action enables auto-merge when a PR number is available (condition: `steps.create-pr.outputs.pull-request-number != ''`). It uses GitHub CLI with:
62+
After a PR is created, this action enables auto-merge only when you set `with.automerge: 'true'` and a PR number is available (condition: `inputs.automerge == 'true' && steps.create-pr.outputs.pull-request-number != ''`). It uses GitHub CLI with:
6263

6364
```
6465
gh pr merge <number> --merge --auto --delete-branch

action.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,10 @@ inputs:
1818
test-mode:
1919
description: 'If true, skip push and PR creation'
2020
default: 'false'
21-
21+
automerge:
22+
description: 'If true, enable auto-merge on the PR'
23+
default: 'false'
24+
2225
runs:
2326
using: "composite"
2427
steps:
@@ -168,7 +171,7 @@ runs:
168171

169172
- name: Enable auto-merge
170173
shell: bash
171-
if: ${{ steps.create-pr.outputs.pull-request-number != '' }}
174+
if: ${{ inputs.automerge == 'true' && steps.create-pr.outputs.pull-request-number != '' }}
172175
env:
173176
GH_TOKEN: ${{ inputs.token }}
174177
run: |

tests/test-action.sh

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,4 +163,35 @@ assert "[ \"$(cat LICENSE)\" = \"# Target License\" ]" "LICENSE was not overwrit
163163
# Check commit message
164164
assert "[ \"$(git log -1 --pretty=%B)\" = \"chore: sync template\" ]" "Commit message is correct"
165165

166+
# Simulate auto-merge behavior as implemented in action.yml
167+
# Condition: Enable auto-merge only when automerge input is 'true' AND a PR number is available (non-empty)
168+
echo -e "${YELLOW}Simulating auto-merge behavior${NC}"
169+
170+
# Positive case: automerge enabled and PR number available triggers auto-merge command
171+
AUTOMERGE="true"
172+
PR_NUMBER="123"
173+
AUTO_MERGE_CMD=""
174+
if [[ "${AUTOMERGE}" == "true" && "${PR_NUMBER}" != "" ]]; then
175+
AUTO_MERGE_CMD="gh pr merge ${PR_NUMBER} --merge --auto --delete-branch"
176+
fi
177+
assert "[ \"${AUTO_MERGE_CMD}\" = \"gh pr merge 123 --merge --auto --delete-branch\" ]" "Auto-merge command generated when automerge is true and PR number is set"
178+
179+
# Negative case: automerge disabled means skip even if PR number exists
180+
AUTOMERGE="false"
181+
PR_NUMBER="123"
182+
AUTO_MERGE_EXECUTED="false"
183+
if [[ "${AUTOMERGE}" == "true" && "${PR_NUMBER}" != "" ]]; then
184+
AUTO_MERGE_EXECUTED="true"
185+
fi
186+
assert "[ \"${AUTO_MERGE_EXECUTED}\" = \"false\" ]" "Auto-merge is skipped when automerge is false even if PR number is provided"
187+
188+
# Negative case: automerge enabled but no PR number means skip
189+
AUTOMERGE="true"
190+
PR_NUMBER=""
191+
AUTO_MERGE_EXECUTED="false"
192+
if [[ "${AUTOMERGE}" == "true" && "${PR_NUMBER}" != "" ]]; then
193+
AUTO_MERGE_EXECUTED="true"
194+
fi
195+
assert "[ \"${AUTO_MERGE_EXECUTED}\" = \"false\" ]" "Auto-merge is skipped when PR number is empty"
196+
166197
echo -e "${GREEN}All tests passed!${NC}"

0 commit comments

Comments
 (0)