Skip to content

Commit a082c2e

Browse files
committed
Improve review-ready-label workflow
If a PR has `do-not-merge/work-in-progress` label, it should not get `Ready for Review` label. Signed-off-by: Amartya Sinha <amsinha@redhat.com> Assisted-by: Claude model claude-sonnet-4@20250514
1 parent b954eac commit a082c2e

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

.github/workflows/review-ready-label.yml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@
33
# - There are no failed CI jobs
44
# - There are no Pending CI jobs excluding Tide
55
# - The PR isn't in draft state
6+
# - The PR doesn't have "do-not-merge/work-in-progress" label
67
# Removes the label if any of those checks fail.
8+
# Runs on CI status changes, draft status changes, and label changes.
79

810
name: Toggle review ready label
911
on:
1012
status:
1113
pull_request_target:
12-
types: [ready_for_review, converted_to_draft]
14+
types: [ready_for_review, converted_to_draft, labeled, unlabeled]
1315
jobs:
1416
toggle-label:
1517
runs-on: ubuntu-latest
@@ -67,8 +69,17 @@ jobs:
6769
ready=false
6870
fi
6971
70-
# Define pr_number and set or remove review_ready_label on PR
72+
# Define pr_number
7173
pr_number=$(echo "${pr_search_result}" | jq '.[].number')
74+
75+
# Check if PR has "do-not-merge/work-in-progress" label
76+
pr_labels=$(gh pr view "${pr_number}" --json labels -R "${GITHUB_REPOSITORY}" | jq -r '.labels[].name')
77+
if echo "${pr_labels}" | grep -q "do-not-merge/work-in-progress"; then
78+
echo "PR ${pr_number} has 'do-not-merge/work-in-progress' label, setting ready=false"
79+
ready=false
80+
fi
81+
82+
# Set or remove review_ready_label on PR
7283
if [ "$ready" = "true" ]; then
7384
echo "Setting label: ${review_ready_label} on PR: ${pr_number}"
7485
gh pr edit "${pr_number}" --add-label "${review_ready_label}" -R "${GITHUB_REPOSITORY}"

0 commit comments

Comments
 (0)