Fixing get version same commit

This commit is contained in:
2025-03-30 23:45:24 +02:00
parent de56a4e17a
commit 4a3c60e53c

View File

@@ -20,28 +20,36 @@ runs:
if [[ -n "${SEMVER_UPDATE}" ]]; then if [[ -n "${SEMVER_UPDATE}" ]]; then
git fetch --tags --force git fetch --tags --force
last_version="$(git describe --tags --abbrev=0 --match "v*" 2> /dev/null || echo "")" last_version="$(git describe --tags --abbrev=0 --match "v*" 2> /dev/null || echo "")"
if [[ -z "$last_version" ]]; then
last_version="v0.0.0"
fi
last_version="${last_version:1}"
log_info "Last version: ${last_version}"
# Split the version into components if git tag --points-at HEAD | grep -q "^${last_version}"; then
IFS='.' read -r major minor patch <<< "${last_version%%-*}" log_info "A tag already exists on the current commit, using it"
NEW_VERSION="${last_version:1}"
else
git fetch --tags --force --unshallow
last_version="$(git describe --tags --abbrev=0 --match "v*" 2> /dev/null || echo "")"
# Increment the appropriate part of the version if [[ -z "${last_version}" ]]; then
case "${SEMVER_UPDATE}" in last_version="v0.0.0"
"Major"*) NEW_VERSION="$((major + 1)).0.0" fi
;; last_version="${last_version:1}"
"Minor"*) NEW_VERSION="$major.$((minor + 1)).0" log_info "Last version: ${last_version}"
;;
"Patch"*) NEW_VERSION="$major.$minor.$((patch + 1))"
;;
esac
log_info "Requested ${SEMVER_UPDATE} update" # Split the version into components
IFS='.' read -r major minor patch <<< "${last_version%%-*}"
# Increment the appropriate part of the version
case "${SEMVER_UPDATE}" in
"Major"*) NEW_VERSION="$((major + 1)).0.0"
;;
"Minor"*) NEW_VERSION="$major.$((minor + 1)).0"
;;
"Patch"*) NEW_VERSION="$major.$minor.$((patch + 1))"
;;
esac
log_info "Requested ${SEMVER_UPDATE} update"
fi;
NEW_VERSION="v${NEW_VERSION}" NEW_VERSION="v${NEW_VERSION}"
elif [[ "${{ github.ref }}" == refs/tags/* ]]; then elif [[ "${{ github.ref }}" == refs/tags/* ]]; then