diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index c453841..0ac58db 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -76,19 +76,31 @@ jobs: env: GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} run: | + if [ -z "$GITEA_TOKEN" ]; then + echo "Warning: GITEA_TOKEN not set, skipping delete" + exit 0 + fi API="${{ github.server_url }}/api/v1/repos/${{ github.repository }}/releases" - curl -s -H "Authorization: token ${GITEA_TOKEN}" "${API}" | grep -o '"id":[0-9]*' | while read line; do - ID=$(echo "$line" | grep -o '[0-9]*') - curl -s -X DELETE -H "Authorization: token ${GITEA_TOKEN}" "${API}/${ID}" - echo "Deleted release ${ID}" - done + RELEASES=$(curl -s -H "Authorization: token ${GITEA_TOKEN}" "${API}" 2>/dev/null || echo "") + if [ -n "$RELEASES" ]; then + echo "$RELEASES" | grep -o '"id":[0-9]*' | while read line; do + ID=$(echo "$line" | grep -o '[0-9]*') + curl -s -X DELETE -H "Authorization: token ${GITEA_TOKEN}" "${API}/${ID}" > /dev/null 2>&1 || true + echo "Deleted release ${ID}" + done || true + fi curl -s -X DELETE -H "Authorization: token ${GITEA_TOKEN}" \ - "${{ github.server_url }}/api/v1/repos/${{ github.repository }}/tags/latest" 2>/dev/null || true + "${{ github.server_url }}/api/v1/repos/${{ github.repository }}/tags/latest" > /dev/null 2>&1 || true - name: Create release env: GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} run: | + if [ -z "$GITEA_TOKEN" ]; then + echo "Error: GITEA_TOKEN secret is not configured." + echo "Go to Settings > Actions > Secrets and add GITEA_TOKEN" + exit 1 + fi VERSION=${{ steps.info.outputs.version }} SHA=${{ steps.info.outputs.sha }} API="${{ github.server_url }}/api/v1/repos/${{ github.repository }}/releases"