From 1f256b236ca33765f4418b37a3616d0c8b6f259d Mon Sep 17 00:00:00 2001 From: magdev Date: Mon, 2 Feb 2026 22:55:35 +0100 Subject: [PATCH] fix(ci): Handle existing releases when re-releasing - Check if release already exists for the tag - Delete existing release before creating new one - Allows re-releasing the same version after fixes Co-Authored-By: Claude Opus 4.5 --- .gitea/workflows/release.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 4ae8d4b..16b240f 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -161,6 +161,21 @@ jobs: # Read release notes BODY=$(cat release_notes.txt) + # Check if release already exists for this tag + 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 "Release already exists for tag ${TAG_NAME} (ID: $EXISTING_ID). Deleting..." + curl -s -X DELETE \ + -H "Authorization: token ${GITEA_TOKEN}" \ + "${GITHUB_SERVER_URL}/api/v1/repos/${GITHUB_REPOSITORY}/releases/${EXISTING_ID}" + echo "Deleted existing release." + fi + # Create release via Gitea API RELEASE_RESPONSE=$(curl -s -X POST \ -H "Authorization: token ${GITEA_TOKEN}" \