include: - project: 'generic/common-ci' file: '/common-build.yaml' stages: - build - slices - slices-publish variables: RELEASE_NAME: iac-offline DOCKERFILE_PATH: Dockerfile IMAGE_NAME: ${CR}/${RELEASE_NAME}:${CI_COMMIT_TAG} GIT_DEPTH: "1" build_offline_mirror: extends: .base_docker_prod rules: - if: $CI_COMMIT_TAG =~ /^v?(?:\d+\.){2}\d+$/ allow_failure: false script: - printf '%s' "$CI_JOB_TOKEN" > /tmp/gl_token - mkdir -p /tmp/emptyctx - docker build -f ${DOCKERFILE_PATH} /tmp/emptyctx --secret id=gl_token,src=/tmp/gl_token --build-arg PUSHER_IMAGE="${PUSHER_IMAGE}" --build-arg GIT_TAG="${CI_COMMIT_TAG}" --build-arg EXPECT_COMMIT="${CI_COMMIT_SHA}" --build-arg BUILT_AT="$(date -u +%Y-%m-%dT%H:%M:%SZ)" ${BUILD_ARGS} -t ${IMAGE_NAME} -t ${CR}/${RELEASE_NAME}:latest - docker run --rm -e DRY_RUN=true ${IMAGE_NAME} - docker push ${IMAGE_NAME} - docker push ${CR}/${RELEASE_NAME}:latest timeout: 30m generate_slice_jobs: stage: slices image: ${CR}/infra/slice-builder:1.0.0 tags: - build rules: - if: $CI_COMMIT_TAG =~ /^v?(?:\d+\.){2}\d+$/ variables: GIT_DEPTH: "1" script: - python3 ci/publish-slice.py generate --release "$CI_COMMIT_TAG" --commit "$CI_COMMIT_SHA" --out slices-pipeline.yml - cat slices-pipeline.yml artifacts: paths: - slices-pipeline.yml publish_contour_slices: stage: slices-publish rules: - if: $CI_COMMIT_TAG =~ /^v?(?:\d+\.){2}\d+$/ needs: - generate_slice_jobs trigger: include: - artifact: slices-pipeline.yml job: generate_slice_jobs strategy: depend