From 11f5319eae323fe5255a2556e267a2ddb542dfce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Untersch=C3=BCtz?= Date: Sat, 23 May 2026 12:56:50 +0200 Subject: [PATCH] ci: delete existing release before recreating on retrigger Prevents curl exit 22 (HTTP 409) when a tag's release already exists. Co-Authored-By: Claude Sonnet 4.6 --- .gitea/workflows/release.yml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 4f121c6..fa56fa1 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -41,11 +41,20 @@ jobs: id: create_release run: | TAG="${{ github.ref_name }}" + API="${{ github.server_url }}/api/v1/repos/${{ github.repository }}" + AUTH="Authorization: token ${{ secrets.GITEA_TOKEN }}" + + # Delete existing release for this tag if present + EXISTING=$(curl -sf -H "$AUTH" "$API/releases/tags/$TAG" | python3 -c "import sys,json; print(json.load(sys.stdin).get('id',''))" 2>/dev/null || true) + if [ -n "$EXISTING" ]; then + echo "Deleting existing release $EXISTING" + curl -sf -X DELETE -H "$AUTH" "$API/releases/$EXISTING" + fi RELEASE=$(curl -sf -X POST \ - -H "Authorization: token ${{ secrets.GITEA_TOKEN }}" \ + -H "$AUTH" \ -H "Content-Type: application/json" \ - "${{ github.server_url }}/api/v1/repos/${{ github.repository }}/releases" \ + "$API/releases" \ -d "{ \"tag_name\": \"$TAG\", \"name\": \"$TAG\",