aboutsummaryrefslogtreecommitdiffstats
path: root/.gitea/workflows
diff options
context:
space:
mode:
Diffstat (limited to '.gitea/workflows')
-rw-r--r--.gitea/workflows/release.yaml23
1 files changed, 21 insertions, 2 deletions
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