From 1673c569e64f1b7de8899841a8e84e26e4dc5939 Mon Sep 17 00:00:00 2001 From: Astound Date: Mon, 5 Aug 2024 08:16:59 +0800 Subject: workflows: debug 'Get Meta' --- .gitea/workflows/release.yaml | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to '.gitea') diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml index 8ec7333..ac67bf4 100644 --- a/.gitea/workflows/release.yaml +++ b/.gitea/workflows/release.yaml @@ -39,9 +39,18 @@ jobs: - name: Get Meta id: meta run: | + set -e + + # Obtain the latest tag without considering commit information LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null) - COMMIT_HASH=$(git rev-parse --short HEAD) - TAG_AT_HEAD=$(git describe --tags --exact-match 2>/dev/null) + + # Obtain the short hash of the current commit + COMMIT_HASH=$(git rev-parse --short HEAD 2>/dev/null) + + # Check if the current commit is tagged exactly + TAG_AT_HEAD=$(git describe --tags --exact-match 2>/dev/null || true) + + # If the commit has a tag, use it as the final version, stripping the 'v' prefix if present if [ -n "$TAG_AT_HEAD" ]; then FINAL_VERSION=${TAG_AT_HEAD#v} else @@ -51,6 +60,16 @@ jobs: FINAL_VERSION="${LATEST_TAG#v}-g${COMMIT_HASH}" fi fi + + # Error handling: Ensure that FINAL_VERSION is not empty + if [ -z "$FINAL_VERSION" ]; then + echo "Error: Unable to determine version." >&2 + exit 1 + fi + + # Output the final version + echo "Final Version: $FINAL_VERSION" + echo "IMAGE_VERSION=${FINAL_VERSION}" >> $GITHUB_OUTPUT - name: Build Docker image -- cgit v1.2.3