diff --git a/publish.sh b/publish.sh index c5e1868..93f4f7c 100755 --- a/publish.sh +++ b/publish.sh @@ -59,21 +59,27 @@ git push origin "${tag}" # --- Gitea release --- echo "" -echo "Creating Gitea release..." -# Generate release notes from git log since last tag -prev_tag=$(git tag --sort=-v:refname | grep -v "^${tag}$" | head -1 || true) -if [ -n "$prev_tag" ]; then - release_notes=$(git log --pretty=format:"- %s" "${prev_tag}..${tag}") +# Check if release already exists +if tea release list -o simple 2>/dev/null | grep -q "^${tag}"; then + echo "Warning: Release ${tag} already exists on Gitea, skipping release creation." else - release_notes=$(git log --pretty=format:"- %s" "${tag}") + echo "Creating Gitea release..." + + # Generate release notes from git log since last tag + prev_tag=$(git tag --sort=-v:refname | grep -v "^${tag}$" | head -1 || true) + if [ -n "$prev_tag" ]; then + release_notes=$(git log --pretty=format:"- %s" "${prev_tag}..${tag}") + else + release_notes=$(git log --pretty=format:"- %s" "${tag}") + fi + + tea release create \ + --tag "${tag}" \ + --title "${tag}" \ + --note "$release_notes" \ + --asset ./arrman + + echo "" + echo "Done! Published arrman ${tag}" fi - -tea release create \ - --tag "${tag}" \ - --title "${tag}" \ - --note "$release_notes" \ - --asset ./arrman - -echo "" -echo "Done! Published arrman ${tag}"