Skip to content

Commit 500f8ba

Browse files
committed
Fix dependabot auto-approve scope
Signed-off-by: Simon Davies <simongdavies@users.noreply.github.com>
1 parent 5e4f632 commit 500f8ba

1 file changed

Lines changed: 10 additions & 7 deletions

File tree

dev/auto-approve-dependabot.sh

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,18 @@ echo "$dependabot_prs" | jq -c '.[]' | while read -r pr; do
111111
continue
112112
fi
113113

114+
# Check merge status before approving so we do not spend an approval on a PR that cannot merge.
115+
merge_status=$(gh pr view "$pr_number" -R "$REPO" --json mergeStateStatus -q '.mergeStateStatus')
116+
case "$merge_status" in
117+
DIRTY|BLOCKED)
118+
echo " ⚠️ Skipping PR #$pr_number because it cannot be auto-merged (status: $merge_status)"
119+
continue
120+
;;
121+
esac
122+
114123
# Check if PR needs approval (i.e., hasn't been approved already)
115124
already_approved=$(echo "$pr" | jq -r '.reviews[] | select(.state == "APPROVED") | .state' | grep -c "APPROVED" || true)
116-
125+
117126
if [ "$already_approved" -eq 0 ]; then
118127
echo " ✅ Approving PR #$pr_number"
119128
gh pr review "$pr_number" -R "$REPO" --approve -b "Automatically approved by dependabot auto-approve workflow"
@@ -127,9 +136,6 @@ echo "$dependabot_prs" | jq -c '.[]' | while read -r pr; do
127136
gh pr merge "$pr_number" -R "$REPO" --auto --squash
128137
echo " ✅ Auto-merge enabled for PR #$pr_number"
129138
elif [ "$all_checks_pass" = true ]; then
130-
# Check if PR is up-to-date with base branch
131-
merge_status=$(gh pr view "$pr_number" -R "$REPO" --json mergeStateStatus -q '.mergeStateStatus')
132-
133139
case "$merge_status" in
134140
CLEAN)
135141
echo " ✅ PR #$pr_number is up to date with base branch"
@@ -143,9 +149,6 @@ echo "$dependabot_prs" | jq -c '.[]' | while read -r pr; do
143149
gh pr merge "$pr_number" -R "$REPO" --auto --squash
144150
echo " ✅ Auto-merge enabled for PR #$pr_number"
145151
;;
146-
DIRTY|BLOCKED)
147-
echo " ⚠️ Skipping PR #$pr_number because it cannot be auto-merged (status: $merge_status)"
148-
;;
149152
*)
150153
echo " ⚠️ Skipping PR #$pr_number due to unsupported merge status: $merge_status"
151154
;;

0 commit comments

Comments
 (0)