Welcome to mirror list, hosted at ThFree Co, Russian Federation.

build_qa_image « scripts - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 477bec29ba7d9b0bf638768665be6db070ebe28d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/bash

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
# with v prefix removed
IMAGE_TAG=${CI_COMMIT_TAG#v}
IMAGE_TAG=${IMAGE_TAG:-$CI_COMMIT_REF_SLUG}

QA_IMAGE_BRANCH="${CI_REGISTRY}/${CI_PROJECT_PATH}/${QA_IMAGE_NAME}:${IMAGE_TAG}"
QA_IMAGE_MASTER="${CI_REGISTRY}/${CI_PROJECT_PATH}/${QA_IMAGE_NAME}:master"

DESTINATIONS="--tag ${QA_IMAGE} --tag ${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} --tag $QA_IMAGE_FOR_AUTO_DEPLOY"
fi

echo "Building QA image for destinations: ${DESTINATIONS}"

docker buildx build \
  --cache-to=type=inline \
  --cache-from="$QA_IMAGE_BRANCH" \
  --cache-from="$QA_IMAGE_MASTER" \
  --platform=${ARCH:-amd64} \
  --build-arg=CHROME_VERSION="${CHROME_VERSION}" \
  --build-arg=DOCKER_VERSION="${DOCKER_VERSION}" \
  --build-arg=RUBY_VERSION="${RUBY_VERSION}" \
  --build-arg=QA_BUILD_TARGET="${QA_BUILD_TARGET:-qa}" \
  --file="${CI_PROJECT_DIR}/qa/Dockerfile" \
  --push \
  ${DESTINATIONS} \
  ${CI_PROJECT_DIR}