From 98aa39a597f0f81a93daf3e5f0b0fdd2df0bd74c Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 2 Feb 2023 17:07:55 +0100 Subject: [PATCH] gitlab-ci: sanitize git ref names for use as docker tags git ref names can contain many chars that are not allowed in docker tags. https://docs.docker.com/engine/reference/commandline/tag/ A tag name must be valid ASCII and may contain lowercase and uppercase letters, digits, underscores, periods and dashes. A tag name may not start with a period or a dash and may contain a maximum of 128 characters. https://gitlab.com/brandsimon/fdroidserver/-/jobs/3705004274 --- .gitlab-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 63c17f01..d80df69d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -574,9 +574,10 @@ docker: services: - docker:dind variables: - TEST_IMAGE: $CI_REGISTRY_IMAGE:$CI_BUILD_REF_NAME RELEASE_IMAGE: $CI_REGISTRY_IMAGE:buildserver script: + # git ref names can contain many chars that are not allowed in docker tags + - export TEST_IMAGE=$CI_REGISTRY_IMAGE:$(printf $CI_BUILD_REF_NAME | sed 's,[^a-zA-Z0-9_.-],_,g') - cd buildserver - docker build -t $TEST_IMAGE --build-arg GIT_REV_PARSE_HEAD=$(git rev-parse HEAD) . - docker tag $TEST_IMAGE $RELEASE_IMAGE