diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 3888f73..12de508 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -353,47 +353,21 @@ jobs: **SHA-256:** \`${SHA256}\`" fi - # Check for existing release — keep last N versions in body - EXISTING_BODY="" + # Delete existing release if present EXISTING_ID="" RELEASE_JSON=$(curl -sS -H "Authorization: token ${TOKEN}" \ "${API}/releases/tags/${TAG}" 2>/dev/null) EXISTING_ID=$(echo "$RELEASE_JSON" | jq -r '.id // empty') if [ -n "$EXISTING_ID" ]; then - echo "Existing release found: id=${EXISTING_ID}" - EXISTING_BODY=$(echo "$RELEASE_JSON" | jq -r '.body // ""') - - # Keep only last (MAX_HISTORY - 1) version entries to make room for new one - TRIMMED_BODY=$(echo "$EXISTING_BODY" | python3 -c " - import sys, re - content = sys.stdin.read() - # Split on version headers (## XX.YY.ZZ) - parts = re.split(r'(?=^## \d)', content, flags=re.MULTILINE) - # Keep only version entries (skip any preamble) - versions = [p for p in parts if re.match(r'^## \d', p)] - # Keep last $((MAX_HISTORY - 1)) entries - kept = versions[:$((MAX_HISTORY - 1))] - print('\n---\n'.join(kept)) - " 2>/dev/null || echo "") - - # Delete old release and tag so we can recreate + echo "Existing release found: id=${EXISTING_ID} — deleting" curl -sS -X DELETE -H "Authorization: token ${TOKEN}" \ "${API}/releases/${EXISTING_ID}" 2>/dev/null || true curl -sS -X DELETE -H "Authorization: token ${TOKEN}" \ "${API}/tags/${TAG}" 2>/dev/null || true fi - # Compose full body: new entry + previous entries - if [ -n "$TRIMMED_BODY" ]; then - FULL_BODY="${NEW_ENTRY} - - --- - - ${TRIMMED_BODY}" - else - FULL_BODY="${NEW_ENTRY}" - fi + FULL_BODY="${NEW_ENTRY}" echo "=== Create Release ===" echo "TAG=${TAG} VERSION=${VERSION} BRANCH=${BRANCH} PRE=${IS_PRE} HISTORY=${MAX_HISTORY}"