From 96b8b77792df731a84cecf651ec50d3c6c972bfe Mon Sep 17 00:00:00 2001 From: paul Date: Mon, 22 Sep 2025 14:46:32 +0200 Subject: [PATCH] Fix release workflow when tag already exists --- .gitea/workflows/version-and-release.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/version-and-release.yml b/.gitea/workflows/version-and-release.yml index 7b6b06b..54448e8 100644 --- a/.gitea/workflows/version-and-release.yml +++ b/.gitea/workflows/version-and-release.yml @@ -128,10 +128,17 @@ jobs: MINOR="${version_parts[1]}" PATCH="${version_parts[2]}" - # Increment patch version + # Increment patch version and ensure tag uniqueness + git fetch --tags --quiet || true NEW_PATCH=$((PATCH + 1)) NEW_VERSION="$MAJOR.$MINOR.$NEW_PATCH" + while git rev-parse "v${NEW_VERSION}" >/dev/null 2>&1; do + echo "Tag v${NEW_VERSION} already exists, bumping patch version again" + NEW_PATCH=$((NEW_PATCH + 1)) + NEW_VERSION="$MAJOR.$MINOR.$NEW_PATCH" + done + echo "New version: $NEW_VERSION" echo "new_version=$NEW_VERSION" >> $GITHUB_OUTPUT echo "component_changed=$COMPONENT_CHANGED" >> $GITHUB_OUTPUT @@ -260,4 +267,3 @@ jobs: echo "Component(s) changed: ${{ needs.version-bump.outputs.component_changed }}" echo "Drone will automatically trigger on the new tag" # Drone CI will automatically trigger on the tag push event -