[Tarantool-patches] [PATCH v1] gitlab-ci: fix deployment of tagged commits

Alexander V. Tikhonov avtikhon at tarantool.org
Wed Sep 2 13:25:36 MSK 2020


Found that tagged commits were not run the deployment gitlab-ci jobs.
To fix it added 'tags' label for deployment and perfomance jobs. Also
found that after the commit tagged it has tag label in format 'x^0'
and all previous commits till the previous tag became to have tags in
format 'x~<commits before>' like 'x~1' or 'x~2' and etc. So the check

  if git name-rev --name-only --tags --no-undefined HEAD ; then

became always pass and previous commits on rerun could began to deploy.
To fix it was used gitlab-ci environment variable 'CI_COMMIT_TAG', it
shows in real if the current commit has tag and has to be deployed.

Part of #3745
---

Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-3745-gitlab-ci-tags
Issue: https://github.com/tarantool/tarantool/issues/3745

 .gitlab-ci.yml | 3 +++
 .gitlab.mk     | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 05d40b013..c144aae9c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -38,6 +38,7 @@ before_script:
 .deploy_only_template: &deploy_only_definition
   only:
     - master
+    - tags
   except:
     - schedules
     - external_pull_requests
@@ -46,10 +47,12 @@ before_script:
 .pack_only_template: &pack_only_definition
   except:
     - master
+    - tags
 
 .perf_only_template: &perf_only_definition
   only:
     - master
+    - tags
     - /^.*-perf$/
   except:
     - schedules
diff --git a/.gitlab.mk b/.gitlab.mk
index 0ce978063..1b3ffddcc 100644
--- a/.gitlab.mk
+++ b/.gitlab.mk
@@ -121,7 +121,7 @@ deploy: package
 	echo ${GPG_SECRET_KEY} | base64 -d | gpg --batch --import || true
 	./tools/update_repo.sh -o=${OS} -d=${DIST} \
 		-b="${LIVE_REPO_S3_DIR}/${BUCKET}" build
-	if git name-rev --name-only --tags --no-undefined HEAD 2>/dev/null ; then \
+	if [ "${CI_COMMIT_TAG}" != "" ]; then \
 		./tools/update_repo.sh -o=${OS} -d=${DIST} \
 			-b="${RELEASE_REPO_S3_DIR}/${BUCKET}" build ; \
 	fi
-- 
2.17.1



More information about the Tarantool-patches mailing list