From 71f87b320a2ecf2efa2be8ce34bfa15ea511598e Mon Sep 17 00:00:00 2001 From: magdev Date: Sun, 1 Feb 2026 15:48:28 +0100 Subject: [PATCH] Fix CI release workflow for re-releases - Delete existing releases before creating new ones - Prevents "Release has no Tag" error on re-releases Co-Authored-By: Claude Opus 4.5 --- .gitea/workflows/release.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index ed1be41..d9c14d5 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -161,6 +161,20 @@ jobs: # Read release notes BODY=$(cat release_notes.txt) + # Check if release already exists for this tag and delete it + EXISTING_RELEASE=$(curl -s \ + -H "Authorization: token ${GITEA_TOKEN}" \ + "${GITHUB_SERVER_URL}/api/v1/repos/${GITHUB_REPOSITORY}/releases/tags/${TAG_NAME}") + + EXISTING_ID=$(echo "$EXISTING_RELEASE" | jq -r '.id // empty') + + if [ -n "$EXISTING_ID" ] && [ "$EXISTING_ID" != "null" ]; then + echo "Deleting existing release ID: $EXISTING_ID" + curl -s -X DELETE \ + -H "Authorization: token ${GITEA_TOKEN}" \ + "${GITHUB_SERVER_URL}/api/v1/repos/${GITHUB_REPOSITORY}/releases/${EXISTING_ID}" + fi + # Create release via Gitea API RELEASE_RESPONSE=$(curl -s -X POST \ -H "Authorization: token ${GITEA_TOKEN}" \