From 3a641d8a09af2fbe0240dbc3544fee459796e992 Mon Sep 17 00:00:00 2001
From: Neil-Jocelyn Schark <neil-jocelyn.schark@stud.h-da.de>
Date: Wed, 10 Nov 2021 15:04:18 +0000
Subject: [PATCH] Allow / in branch names

---
 .gitlab/ci/.build-container.yml | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/.gitlab/ci/.build-container.yml b/.gitlab/ci/.build-container.yml
index 85c948fd1..40066b9a8 100644
--- a/.gitlab/ci/.build-container.yml
+++ b/.gitlab/ci/.build-container.yml
@@ -8,27 +8,30 @@ build-docker:
   allow_failure: false
   needs: []
   variables:
-    TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_BRANCH
+    TAG: $CI_COMMIT_BRANCH
   tags:
     - shell-builder
 
   rules:
     - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
       variables:
-        TAG: $CI_REGISTRY_IMAGE:latest
+        TAG: latest
     - if: $CI_COMMIT_BRANCH == "develop"
       variables:
-        TAG: $CI_REGISTRY_IMAGE:develop
+        TAG: develop
         BUILDARGS: -race
     - when: always
     - variables:
-        TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
+        TAG: $CI_COMMIT_SHA
  
   script:
+  # replace all slashes in the tag with hyphen, because slashes are not allowed in tags
+   - TAG=${TAG//\//-}
+   - TARGET=$CI_REGISTRY_IMAGE:$TAG
    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
    - docker build --build-arg GITLAB_USER=$GO_MODULES_USER --build-arg GITLAB_TOKEN=$GO_MODULES_ACCESS_TOKEN --build-arg BUILDARGS=$BUILDARGS -t $DOCKER_IMAGE_SHA .
    - docker push $DOCKER_IMAGE_SHA
-   - docker tag $DOCKER_IMAGE_SHA $TAG
-   - docker push $TAG
+   - docker tag $DOCKER_IMAGE_SHA $TARGET
+   - docker push $TARGET
    - docker build --target installer --build-arg GITLAB_USER=$GO_MODULES_USER --build-arg GITLAB_TOKEN=$GO_MODULES_ACCESS_TOKEN --build-arg BUILDARGS=$BUILDARGS -t ${CI_REGISTRY_IMAGE}:testing_${CI_PIPELINE_ID} .
    - docker push ${CI_REGISTRY_IMAGE}:testing_${CI_PIPELINE_ID}
-- 
GitLab