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}" \