From 7f807dbb2b5da3bf926b7c6bb5c89489346f2207 Mon Sep 17 00:00:00 2001 From: Skydust Date: Sun, 30 Mar 2025 23:45:24 +0200 Subject: [PATCH] Fixing get version same commit --- action.yml | 44 ++++++++++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/action.yml b/action.yml index 93e031b..61e18ff 100644 --- a/action.yml +++ b/action.yml @@ -20,28 +20,36 @@ runs: if [[ -n "${SEMVER_UPDATE}" ]]; then git fetch --tags --force - 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}" + + if git tag --points-at HEAD | grep -q "^${last_version}"; then + log_info "A tag already exists on the current commit, using it" + NEW_VERSION="${last_version:1}" + + else + + log_info "Last version: ${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 - IFS='.' read -r major minor patch <<< "${last_version%%-*}" + # 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 + # 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" + log_info "Requested ${SEMVER_UPDATE} update" + fi; NEW_VERSION="v${NEW_VERSION}" elif [[ "${{ github.ref }}" == refs/tags/* ]]; then