50 lines
2.2 KiB
YAML
50 lines
2.2 KiB
YAML
.base-image-build:
|
|
extends: .use-kaniko
|
|
variables:
|
|
GIT_LFS_SKIP_SMUDGE: 1
|
|
script:
|
|
- scripts/checkout-mr-source-sha
|
|
retry: 2
|
|
|
|
# This image is used by:
|
|
# - The `review-qa-*` jobs
|
|
# - The downstream `omnibus-gitlab-mirror` pipeline triggered by `package-and-qa` so that it doesn't have to rebuild it again.
|
|
# The downstream `omnibus-gitlab-mirror` pipeline itself passes the image name to the `gitlab-qa-mirror` pipeline so that
|
|
# it can use it instead of inferring an end-to-end imag from the GitLab image built by the downstream `omnibus-gitlab-mirror` pipeline.
|
|
# See https://docs.gitlab.com/ee/development/testing_guide/end_to_end/index.html#testing-code-in-merge-requests for more details.
|
|
build-qa-image:
|
|
extends:
|
|
- .base-image-build
|
|
- .build-images:rules:build-qa-image
|
|
stage: build-images
|
|
needs: []
|
|
script:
|
|
- !reference [.base-image-build, script]
|
|
- echo $QA_IMAGE
|
|
- echo $QA_IMAGE_BRANCH
|
|
- |
|
|
/kaniko/executor \
|
|
--context=${CI_PROJECT_DIR} \
|
|
--dockerfile=${CI_PROJECT_DIR}/qa/Dockerfile \
|
|
--destination=${QA_IMAGE} \
|
|
--destination=${QA_IMAGE_BRANCH} \
|
|
--build-arg=CHROME_VERSION=${CHROME_VERSION} \
|
|
--build-arg=DOCKER_VERSION=${DOCKER_VERSION} \
|
|
--build-arg=QA_BUILD_TARGET=${QA_BUILD_TARGET:-qa} \
|
|
--cache=true
|
|
|
|
# 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
|
|
# - The `omnibus-gitlab` pipelines (via the `package-and-qa` job): https://gitlab.com/gitlab-org/omnibus-gitlab/-/blob/dfd1ad475868fc84e91ab7b5706aa03e46dc3a86/.gitlab-ci.yml#L130
|
|
build-assets-image:
|
|
extends:
|
|
- .base-image-build
|
|
- .build-images:rules:build-assets-image
|
|
stage: build-images
|
|
needs: ["compile-production-assets"]
|
|
script:
|
|
- !reference [.base-image-build, script]
|
|
# TODO: Change the image tag to be the MD5 of assets files and skip image building if the image exists
|
|
# We'll also need to pass GITLAB_ASSETS_TAG to the trigerred omnibus-gitlab pipeline similarly to how we do it for trigerred CNG pipelines
|
|
# https://gitlab.com/gitlab-org/gitlab/issues/208389
|
|
- run_timed_command "scripts/build_assets_image"
|