Files
gitlab-ce/scripts/build_gdk_image
2024-12-12 21:32:36 +00:00

40 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
set -e
source "$(dirname "$0")/utils.sh"
REGISTRY="${CI_REGISTRY}/${CI_PROJECT_PATH}"
SHA_TAG="${CI_COMMIT_SHA}"
BRANCH_TAG="${CI_COMMIT_REF_SLUG}"
STABLE_BRANCH_PATTERN="^[0-9-]+-stable-ee$"
IMAGE="${REGISTRY}/gitlab-qa-gdk"
if [[ -n "${CI}" ]]; then
OUTPUT_OPTION="--push"
else
OUTPUT_OPTION="--load"
fi
if [[ "$BRANCH_TAG" =~ $STABLE_BRANCH_PATTERN || "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" =~ $STABLE_BRANCH_PATTERN ]]; then
GDK_BASE_TAG_PREFIX="stable-"
fi
echoinfo "Building GDK image" "yes"
docker buildx build \
--cache-to="type=registry,mode=max,image-manifest=true,ref=${IMAGE}/cache:${BRANCH_TAG}" \
--cache-from="${IMAGE}/cache:${BRANCH_TAG}" \
--cache-from="${IMAGE}/cache:master" \
--file="qa/gdk/Dockerfile.gdk" \
--platform=${ARCH:-amd64} \
--build-arg "GDK_BASE_TAG_PREFIX=${GDK_BASE_TAG_PREFIX}" \
--tag="${IMAGE}:${SHA_TAG}" \
--tag="${IMAGE}:${BRANCH_TAG}" \
--provenance=false \
${OUTPUT_OPTION} \
.
echosuccess "Built image '${REGISTRY}/gitlab-qa-gdk:${SHA_TAG}'"