From 42bf765deca8b173762d87b7c39623643ebde5b3 Mon Sep 17 00:00:00 2001
From: Serge Bazanski <q3k@q3k.org>
Date: Sun, 13 Aug 2023 17:29:48 +0200
Subject: [PATCH] ci: fix versioning for dist script

---
 tools/dist.sh | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/tools/dist.sh b/tools/dist.sh
index 08f92f7383..b2b030e148 100755
--- a/tools/dist.sh
+++ b/tools/dist.sh
@@ -11,7 +11,21 @@ if [ ! -f sdkconfig.defaults ] || [ ! -f recovery/sdkconfig.defaults ]; then
     exit 1
 fi
 
-version="$(python3 components/st3m/host-tools/version.py)"
+if [ ! -z "${CI}" ]; then
+    if [ ! -z "${CI_COMMIT_TAG}" ]; then
+        # If we're building a tag, just use that as a version.
+        version="v${CI_COMMIT_TAG}"
+    else
+        # Otherwise, let normal version machinery run, but fetch all changes
+        # and check out the correct branch. Otherwise we'll get weird version
+        # strings.
+        git fetch origin "$CI_COMMIT_REF_NAME"
+        git checkout "$CI_COMMIT_REF_NAME"
+        version="$(python3 components/st3m/host-tools/version.py)"
+    fi
+else
+    version="$(python3 components/st3m/host-tools/version.py)"
+fi
 
 rm -rf sdkconfig build
 rm -rf recovery/sdkconfig recovery/build
-- 
GitLab