added auto incremental tagging

This commit is contained in:
Patrick Mahnke-Hartmann
2025-09-19 15:07:02 +02:00
parent a8b44d0c7d
commit ac83fe6c41

View File

@@ -100,19 +100,35 @@ jobs:
outputs:
tag_name: ${{ steps.set_tag.outputs.tag_name }}
steps:
- name: Determine tag name
- name: Determine next semantic version tag
id: set_tag
run: |
if [[ "${GITHUB_REF_TYPE}" == "tag" ]]; then
TAG_NAME="${GITHUB_REF_NAME}"
elif [[ "${GITHUB_REF}" == "refs/heads/main" ]]; then
TAG_NAME="latest"
elif [[ "${GITHUB_REF}" == "refs/heads/development" ]]; then
TAG_NAME="development"
git fetch --tags
# Find latest tag matching vX.Y.Z
latest_tag=$(git tag --list 'v*.*.*' --sort=-v:refname | head -n 1)
if [[ -z "$latest_tag" ]]; then
major=0
minor=0
patch=0
else
TAG_NAME="pr-$(echo "${GITHUB_REF}" | sed 's/refs\/heads\///' | tr '/' '-')"
version="${latest_tag#v}"
IFS='.' read -r major minor patch <<< "$version"
fi
echo "tag_name=${TAG_NAME}" >> $GITHUB_OUTPUT
if [[ "${GITHUB_REF}" == "refs/heads/main" ]]; then
major=$((major + 1))
minor=0
patch=0
elif [[ "${GITHUB_REF}" == "refs/heads/development" ]]; then
minor=$((minor + 1))
patch=0
else
patch=$((patch + 1))
fi
new_tag="v${major}.${minor}.${patch}"
echo "tag_name=${new_tag}" >> $GITHUB_OUTPUT
# audit:
# name: Security Audit