From cb52c169a3294b930b433a1f1ac98099f7e7f3a7 Mon Sep 17 00:00:00 2001 From: Alex Lebens Date: Tue, 10 Jun 2025 12:15:47 -0500 Subject: [PATCH] add logging --- .gitea/workflows/tag-old-issues.yaml | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/tag-old-issues.yaml b/.gitea/workflows/tag-old-issues.yaml index 9c1777d..1bdb9e2 100644 --- a/.gitea/workflows/tag-old-issues.yaml +++ b/.gitea/workflows/tag-old-issues.yaml @@ -4,6 +4,8 @@ on: schedule: - cron: '@daily' + workflow_dispatch: + jobs: tag-old-issues: runs-on: ubuntu-latest @@ -23,20 +25,21 @@ jobs: REQUIRED_TAG: 'automerge' run: | # Install necessary tools - apt-get update && apt-get install -y jq curl + sudo apt-get -qq update && sudo apt-get -qq install -y jq curl # --- Conditionally build the API URL --- API_URL="${GITEA_INSTANCE_URL}/api/v1/repos/${REPO_OWNER}/${REPO_NAME}/issues?state=open" if [[ -n "${REQUIRED_TAG}" ]]; then - echo "Filtering for issues with the required tag: ${REQUIRED_TAG}" + echo ">> Filtering for issues with the required tag: ${REQUIRED_TAG}" # URL-encode the tag to handle special characters ENCODED_TAG=$(jq -s -R -r @uri <<< "${REQUIRED_TAG}") API_URL="${API_URL}&labels=${ENCODED_TAG}" else - echo "No required tag specified. Checking all open issues." + echo ">> No required tag specified. Checking all open issues." fi # Fetch issues using the constructed URL + echo ">> Fetching issues ..." ISSUES=$(curl -s -X GET \ -H "Authorization: token ${BOT_TOKEN}" \ -H "Accept: application/json" \ @@ -44,6 +47,7 @@ jobs: # Calculate the date ${DAYS_OLD} days ago in ISO 8601 format OLDER_THAN_DATE=$(date -d "-${DAYS_OLD} days" -u +"%Y-%m-%dT%H:%M:%SZ") + echo ">> Filtering for older than ${OLDER_THAN_DATE}" # Filter issues older than the specified date and without the exclusion tag echo "$ISSUES" | jq -c '.[] | select(.created_at < "'"$OLDER_THAN_DATE"'")' | while read -r issue; do @@ -52,7 +56,7 @@ jobs: # Check if the issue has the exclusion tag if ! echo "$LABELS" | grep -q -w "${EXCLUDE_TAG_NAME}"; then - echo "Tagging issue #${ISSUE_NUMBER} as ${TAG_NAME}" + echo ">> Tagging issue #${ISSUE_NUMBER} as ${TAG_NAME}" # Get existing labels for the issue EXISTING_LABELS=$(curl -s -X GET \ @@ -64,12 +68,15 @@ jobs: NEW_LABELS=$(echo -e "${EXISTING_LABELS}\n${TAG_NAME}" | sort -u | jq -R -s -c 'split("\n") | map(select(length > 0))') # Update the issue with the new set of labels + echo ">> Updating issue on Gitea ..." curl -s -X PUT \ -H "Authorization: token ${BOT_TOKEN}" \ -H "Content-Type: application/json" \ -d "{\"labels\": $(echo "$NEW_LABELS" | jq -r 'map(select(. != ""))')}" \ "${INSTANCE_URL}/api/v1/repos/${REPO_OWNER}/${REPO_NAME}/issues/${ISSUE_NUMBER}/labels" else - echo "Skipping issue #${ISSUE_NUMBER} because it has the '${EXCLUDE_TAG_NAME}' tag." + echo ">> Skipping issue #${ISSUE_NUMBER} because it has the '${EXCLUDE_TAG_NAME}' tag." fi done + + echo ">> Finished applying tags."