Skip to content

Commit 6c60d75

Browse files
committed
fix: Make issue processing in release workflow more robust
- Use basic grep instead of -P flag for better compatibility - Add error handling for non-existent issues - Make issue processing optional and not fail if no issues found - Add proper error handling for GitHub CLI operations - Improve logging for better debugging
1 parent 7e28df7 commit 6c60d75

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

.github/workflows/release.yml

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -129,11 +129,12 @@ jobs:
129129
#!/bin/bash
130130
set -euo pipefail
131131
132-
# Extract issue numbers from release notes
133-
issue_numbers=$(echo "$RELEASE_NOTES" | grep -oP '#\d+' | sed 's/#//' | sort -u)
132+
# Extract issue numbers from release notes (using basic grep instead of -P for compatibility)
133+
issue_numbers=$(echo "$RELEASE_NOTES" | grep -o '#[0-9]\+' | sed 's/#//' | sort -u || true)
134134
135135
if [ -z "$issue_numbers" ]; then
136-
echo "No issues found in release notes."
136+
echo "No issues found in release notes to process."
137+
echo "This is normal for releases that don't reference specific issues."
137138
exit 0
138139
fi
139140
@@ -142,17 +143,24 @@ jobs:
142143
for issue_number in $issue_numbers; do
143144
echo "Processing issue #$issue_number"
144145
145-
# Check if issue is open
146+
# Check if issue exists and is open
147+
if ! gh issue view "$issue_number" --json state -q .state >/dev/null 2>&1; then
148+
echo "Issue #$issue_number does not exist, skipping."
149+
continue
150+
fi
151+
146152
issue_state=$(gh issue view "$issue_number" --json state -q .state)
147153
if [ "$issue_state" != "OPEN" ]; then
148154
echo "Issue #$issue_number is not open, skipping."
149155
continue
150156
fi
151157
152158
# Add label, comment and close issue
153-
gh issue edit "$issue_number" --add-label "released"
154-
gh issue comment "$issue_number" --body "🎉 This issue has been released in version $RELEASE_VERSION."
155-
gh issue close "$issue_number"
159+
gh issue edit "$issue_number" --add-label "released" || echo "Failed to add label to issue #$issue_number"
160+
gh issue comment "$issue_number" --body "🎉 This issue has been released in version $RELEASE_VERSION." || echo "Failed to comment on issue #$issue_number"
161+
gh issue close "$issue_number" || echo "Failed to close issue #$issue_number"
156162
157163
echo "Processed issue #$issue_number"
158-
done
164+
done
165+
166+
echo "Issue processing completed."

0 commit comments

Comments
 (0)