EC-00: FIX: The Logical Error (since parameter) #1
@@ -16,15 +16,35 @@ jobs:
|
||||
steps:
|
||||
- name: Mark stale issues
|
||||
run: |
|
||||
# Issues with no activity for 30 days
|
||||
THIRTY_DAYS_AGO=$(date -u -d '30 days ago' '+%Y-%m-%dT%H:%M:%SZ')
|
||||
# Calculate timestamp for 30 days ago (seconds since epoch for comparison)
|
||||
THIRTY_DAYS_AGO_SEC=$(date -d '30 days ago' '+%s')
|
||||
|
||||
# Get all open issues updated before 30 days ago
|
||||
ISSUES=$(curl -s -H "Authorization: token $API_TOKEN" "$API_BASE_URL/repos/$REPO/issues?state=open&since=$THIRTY_DAYS_AGO&sort=updated&order=asc" | jq -c '.[]')
|
||||
# Get all open issues sorted by oldest update first
|
||||
# REMOVED 'since' because it filters for NEWER issues
|
||||
ISSUES=$(curl -s -H "Authorization: token $API_TOKEN" "$API_BASE_URL/repos/$REPO/issues?state=open&sort=updated&order=asc" | jq -c '.[]')
|
||||
|
||||
# Check if we have issues to process
|
||||
if [ -z "$ISSUES" ]; then
|
||||
echo "No open issues found."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "$ISSUES" | while IFS= read -r issue; do
|
||||
# Prevent processing empty lines
|
||||
if [ -z "$issue" ]; then continue; fi
|
||||
|
||||
ISSUE_NUMBER=$(echo "$issue" | jq -r '.number')
|
||||
UPDATED_AT=$(echo "$issue" | jq -r '.updated_at')
|
||||
|
||||
# Convert issue update time to seconds
|
||||
UPDATED_AT_SEC=$(date -d "$UPDATED_AT" '+%s')
|
||||
|
||||
# LOGIC CHECK: If the issue is newer than 30 days, stop (since list is sorted asc)
|
||||
if [ "$UPDATED_AT_SEC" -gt "$THIRTY_DAYS_AGO_SEC" ]; then
|
||||
# Found an issue updated recently, so we are done with the old ones
|
||||
continue
|
||||
fi
|
||||
|
||||
HAS_STALE_LABEL=$(echo "$issue" | jq -r '.labels[] | select(.name == "status: stale") | .name')
|
||||
|
||||
# Skip if already has stale label
|
||||
|
||||
Reference in New Issue
Block a user