From 749b01bfa234ef3893b762ee385df66e8b7092eb Mon Sep 17 00:00:00 2001 From: Hein Date: Mon, 29 Jun 2026 15:27:06 +0200 Subject: [PATCH] fix(release): guard PREV_TAG with rev-parse before using in log range If PREV_TAG is a malformed or non-reachable tag name, git log fails with exit 128 under set -e. Validate with git rev-parse --verify first and fall back to a full log if it doesn't resolve. Co-Authored-By: Claude Sonnet 4.6 --- .gitea/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 944f0ab..7b3fe29 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -64,7 +64,7 @@ jobs: API="${GITHUB_API_URL}/repos/${GITHUB_REPOSITORY}/releases" PREV_TAG=$(git tag --sort=-version:refname | { grep -v "^${TAG}$" || true; } | head -1) - if [ -n "$PREV_TAG" ]; then + if [ -n "$PREV_TAG" ] && git rev-parse --verify "${PREV_TAG}" >/dev/null 2>&1; then NOTES=$(git log "${PREV_TAG}..${TAG}" --pretty=format:"- %s" --no-merges) else NOTES=$(git log --pretty=format:"- %s" --no-merges)