mirror of
https://github.com/Soccera1/agg.git
synced 2025-09-20 21:57:04 +02:00
..that wasn't the last
This commit is contained in:
parent
7c93d5e9ff
commit
eb6a4e7aba
1 changed files with 17 additions and 11 deletions
28
.github/workflows/release.yml
vendored
28
.github/workflows/release.yml
vendored
|
@ -61,21 +61,27 @@ jobs:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Get latest tag
|
- name: Get latest unique tag
|
||||||
id: get_tag
|
id: get_tag
|
||||||
run: |
|
run: |
|
||||||
# Get the latest tag, or default to v0.0.0 if no tags exist
|
LATEST_TAG=$(git tag --sort=-v:refname | head -n1 || echo "v0.0.0")
|
||||||
LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0")
|
NEW_TAG=""
|
||||||
echo "LATEST_TAG=$LATEST_TAG" >> $GITHUB_ENV
|
if [[ "$LATEST_TAG" =~ ^v([0-9]+)\.([0-9]+)\.([0-9]+)$ ]]; then
|
||||||
|
MAJOR=${BASH_REMATCH[1]}
|
||||||
# Increment the patch version for the new release
|
MINOR=${BASH_REMATCH[2]}
|
||||||
# Assuming tags are in semver format like vX.Y.Z
|
PATCH=${BASH_REMATCH[3]}
|
||||||
if [ "$LATEST_TAG" = "v0.0.0" ]; then
|
while : ; do
|
||||||
NEW_TAG="v0.0.1"
|
PATCH=$((PATCH + 1))
|
||||||
|
CANDIDATE_TAG="v$MAJOR.$MINOR.$PATCH"
|
||||||
|
if ! git rev-parse "$CANDIDATE_TAG" >/dev/null 2>&1; then
|
||||||
|
NEW_TAG=$CANDIDATE_TAG
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
else
|
else
|
||||||
NEW_PATCH=$(echo $LATEST_TAG | awk -F. '{$NF = $NF + 1;} 1' | sed 's/ /./g')
|
NEW_TAG="v0.0.1"
|
||||||
NEW_TAG="v${NEW_PATCH#v}" # Remove 'v' if present from the awk output
|
|
||||||
fi
|
fi
|
||||||
|
echo "LATEST_TAG=$LATEST_TAG" >> $GITHUB_ENV
|
||||||
echo "NEW_TAG=$NEW_TAG" >> $GITHUB_ENV
|
echo "NEW_TAG=$NEW_TAG" >> $GITHUB_ENV
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue