From f17e105e04bb0391ceab7c2b90379ff674b1f59d Mon Sep 17 00:00:00 2001 From: "Balasankar \"Balu\" C" <balasankar@gitlab.com> Date: Fri, 23 Sep 2022 07:55:32 +0530 Subject: [PATCH] Fix QA image name in FOSS pipelines Signed-off-by: Balasankar "Balu" C <balasankar@gitlab.com> --- .gitlab/ci/build-images.gitlab-ci.yml | 22 +----------------- scripts/build_qa_image | 32 +++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 21 deletions(-) create mode 100755 scripts/build_qa_image diff --git a/.gitlab/ci/build-images.gitlab-ci.yml b/.gitlab/ci/build-images.gitlab-ci.yml index 1b041c9af38bb..3c7056a92c1c8 100644 --- a/.gitlab/ci/build-images.gitlab-ci.yml +++ b/.gitlab/ci/build-images.gitlab-ci.yml @@ -15,27 +15,7 @@ build-qa-image: stage: build-images needs: [] script: - # Tag with commit SHA by default - - export QA_IMAGE="${CI_REGISTRY}/${CI_PROJECT_PATH}/gitlab-ee-qa:${CI_COMMIT_SHA}" - # For branches, tag with slugified branch name. For tags, use the tag directly - - export QA_IMAGE_BRANCH="${CI_REGISTRY}/${CI_PROJECT_PATH}/gitlab-ee-qa:${CI_COMMIT_TAG:-$CI_COMMIT_REF_SLUG}" - # Auto-deploy tag format uses first 12 letters of commit SHA. Tag with that - # reference also - - export QA_IMAGE_FOR_AUTO_DEPLOY="${CI_REGISTRY}/${CI_PROJECT_PATH}/gitlab-ee-qa:${CI_COMMIT_SHA:0:11}" - - echo $QA_IMAGE - - echo $QA_IMAGE_BRANCH - - echo $QA_IMAGE_FOR_AUTO_DEPLOY - - | - /kaniko/executor \ - --context=${CI_PROJECT_DIR} \ - --dockerfile=${CI_PROJECT_DIR}/qa/Dockerfile \ - --destination=${QA_IMAGE} \ - --destination=${QA_IMAGE_BRANCH} \ - --destination=${QA_IMAGE_FOR_AUTO_DEPLOY} \ - --build-arg=CHROME_VERSION=${CHROME_VERSION} \ - --build-arg=DOCKER_VERSION=${DOCKER_VERSION} \ - --build-arg=QA_BUILD_TARGET=${QA_BUILD_TARGET:-qa} \ - --cache=true + - ./scripts/build_qa_image # This image is used by: # - The `CNG` pipelines (via the `review-build-cng` job): https://gitlab.com/gitlab-org/build/CNG/-/blob/cfc67136d711e1c8c409bf8e57427a644393da2f/.gitlab-ci.yml#L335 diff --git a/scripts/build_qa_image b/scripts/build_qa_image new file mode 100755 index 0000000000000..f4ecb8ed6b6f3 --- /dev/null +++ b/scripts/build_qa_image @@ -0,0 +1,32 @@ +#!/bin/sh + +QA_IMAGE_NAME="gitlab-ee-qa" + +if [ "${CI_PROJECT_NAME}" == "gitlabhq" ] || [ "${CI_PROJECT_NAME}" == "gitlab-foss" ]; then + QA_IMAGE_NAME="gitlab-ce-qa" +fi + +# Tag with commit SHA by default +QA_IMAGE="${CI_REGISTRY}/${CI_PROJECT_PATH}/${QA_IMAGE_NAME}:${CI_COMMIT_SHA}" +# For branches, tag with slugified branch name. For tags, use the tag directly +QA_IMAGE_BRANCH="${CI_REGISTRY}/${CI_PROJECT_PATH}/${QA_IMAGE_NAME}:${CI_COMMIT_TAG:-$CI_COMMIT_REF_SLUG}" + +DESTINATIONS="--destination=${QA_IMAGE} --destination=${QA_IMAGE_BRANCH}" + +# Auto-deploy tag format uses first 12 letters of commit SHA. Tag with that +# reference also for EE images. +if [ "${QA_IMAGE_NAME}" == "gitlab-ee-qa" ]; then + QA_IMAGE_FOR_AUTO_DEPLOY="${CI_REGISTRY}/${CI_PROJECT_PATH}/${QA_IMAGE_NAME}:${CI_COMMIT_SHA:0:11}" + DESTINATIONS="${DESTINATIONS} --destination=$QA_IMAGE_FOR_AUTO_DEPLOY" +fi + +echo "Building QA image for destinations: ${DESTINATIONS}" + +/kaniko/executor \ + --context="${CI_PROJECT_DIR}" \ + --dockerfile="${CI_PROJECT_DIR}/qa/Dockerfile" \ + --build-arg=CHROME_VERSION="${CHROME_VERSION}" \ + --build-arg=DOCKER_VERSION="${DOCKER_VERSION}" \ + --build-arg=QA_BUILD_TARGET="${QA_BUILD_TARGET:-qa}" \ + --cache=true \ + ${DESTINATIONS} -- GitLab