From 69ca5c6d221ba825e7f578aabea5865fabf647b2 Mon Sep 17 00:00:00 2001 From: Augustin Date: Sun, 19 Apr 2026 22:50:15 +0200 Subject: [PATCH] fix: make release delete step resilient + check GITEA_TOKEN MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Skip delete step gracefully if no releases exist - Check GITEA_TOKEN is set before attempting API calls - Add clear error message if secret is missing 💘 Generated with Crush Assisted-by: GLM-5.1 via Crush --- .gitea/workflows/release.yml | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) 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"