iac/.gitlab-ci.yml

52 lines
1.4 KiB
YAML

include:
- project: 'generic/common-ci'
file: '/common-build.yaml'
stages:
- build
- slices
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
publish_contour_slices:
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:
- printf '%s' "$SLICES_PUSHER_KEY" | base64 -d > /tmp/slices-key.json
- python3 ci/publish-slices.py --repo . --release "$CI_COMMIT_TAG" --commit "$CI_COMMIT_SHA" --key-file /tmp/slices-key.json
after_script:
- rm -f /tmp/slices-key.json