fix: Handle missing initial tag in autotag step
All checks were successful
CI Pipeline / lint (push) Successful in 19s
CI Pipeline / build (push) Successful in 41s
CI Pipeline / test (push) Successful in 1m3s
CI Pipeline / security-scan (push) Successful in 1m15s
CI Pipeline / autotag (push) Successful in 17s
CI Pipeline / push (push) Has been skipped
CI Pipeline / update-cd (push) Has been skipped
All checks were successful
CI Pipeline / lint (push) Successful in 19s
CI Pipeline / build (push) Successful in 41s
CI Pipeline / test (push) Successful in 1m3s
CI Pipeline / security-scan (push) Successful in 1m15s
CI Pipeline / autotag (push) Successful in 17s
CI Pipeline / push (push) Has been skipped
CI Pipeline / update-cd (push) Has been skipped
This commit is contained in:
parent
0789d09501
commit
ee7f6bc7d8
@ -153,21 +153,27 @@ jobs:
|
|||||||
- name: Run autotag
|
- name: Run autotag
|
||||||
id: autotag
|
id: autotag
|
||||||
run: |
|
run: |
|
||||||
|
# Check if any tags exist
|
||||||
|
CURRENT_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
|
||||||
|
|
||||||
|
if [ -z "$CURRENT_TAG" ]; then
|
||||||
|
echo "No existing tags found, starting at v0.1.0"
|
||||||
|
NEW_TAG="v0.1.0"
|
||||||
|
else
|
||||||
|
echo "Current tag: $CURRENT_TAG"
|
||||||
|
|
||||||
# Download autotag
|
# Download autotag
|
||||||
AUTOTAG_VERSION="1.3.9"
|
AUTOTAG_VERSION="1.3.9"
|
||||||
curl -sL "https://github.com/autotag-dev/autotag/releases/download/v${AUTOTAG_VERSION}/autotag_linux_amd64" -o /tmp/autotag
|
curl -sL "https://github.com/autotag-dev/autotag/releases/download/v${AUTOTAG_VERSION}/autotag_linux_amd64" -o /tmp/autotag
|
||||||
chmod +x /tmp/autotag
|
chmod +x /tmp/autotag
|
||||||
|
|
||||||
# Get current version
|
|
||||||
CURRENT_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0")
|
|
||||||
echo "Current tag: $CURRENT_TAG"
|
|
||||||
|
|
||||||
# Calculate next version based on commits
|
# Calculate next version based on commits
|
||||||
# autotag looks for #major, #minor in commit messages, defaults to patch
|
# autotag looks for #major, #minor in commit messages, defaults to patch
|
||||||
NEW_TAG=$(/tmp/autotag -n -b main 2>/dev/null || echo "")
|
NEW_TAG=$(/tmp/autotag -n -b main 2>&1 || echo "")
|
||||||
|
|
||||||
if [ -z "$NEW_TAG" ]; then
|
# Check if autotag returned an error or empty result
|
||||||
echo "No new tag needed or autotag failed, using fallback"
|
if [ -z "$NEW_TAG" ] || echo "$NEW_TAG" | grep -qi "error"; then
|
||||||
|
echo "Autotag failed or returned error, using fallback"
|
||||||
# Fallback: increment patch version
|
# Fallback: increment patch version
|
||||||
CURRENT_VERSION="${CURRENT_TAG#v}"
|
CURRENT_VERSION="${CURRENT_TAG#v}"
|
||||||
MAJOR=$(echo $CURRENT_VERSION | cut -d. -f1)
|
MAJOR=$(echo $CURRENT_VERSION | cut -d. -f1)
|
||||||
@ -176,6 +182,7 @@ jobs:
|
|||||||
NEW_PATCH=$((PATCH + 1))
|
NEW_PATCH=$((PATCH + 1))
|
||||||
NEW_TAG="v${MAJOR}.${MINOR}.${NEW_PATCH}"
|
NEW_TAG="v${MAJOR}.${MINOR}.${NEW_PATCH}"
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
echo "New tag will be: $NEW_TAG"
|
echo "New tag will be: $NEW_TAG"
|
||||||
echo "new_tag=$NEW_TAG" >> $GITHUB_OUTPUT
|
echo "new_tag=$NEW_TAG" >> $GITHUB_OUTPUT
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user