wine/tools/gitlab/image.yml
2025-08-26 09:59:49 +02:00

45 lines
1.9 KiB
YAML

# CI script for creating the docker image used for Wine builds
.build-image:
stage: image
rules:
- if: $CI_PIPELINE_SOURCE == 'push' && $CI_PROJECT_PATH == "wine/wine" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
changes:
- tools/gitlab/image.yml
- tools/gitlab/image-amd64.docker
- tools/gitlab/image-arm64.docker
image:
name: gcr.io/kaniko-project/executor:debug
entrypoint: [""]
variables:
IMAGE_SOURCE: "$CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX/debian:trixie"
IMAGE_LOCAL: "$CI_REGISTRY_IMAGE:debian-trixie-$ARCH"
DOCKER_FILE: "$CI_PROJECT_DIR/tools/gitlab/image-$ARCH.docker"
script:
- mkdir -p /kaniko/.docker
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$(printf "%s:%s" "$CI_REGISTRY_USER" "$CI_REGISTRY_PASSWORD" | base64 | tr -d '\n')\"},\"$CI_DEPENDENCY_PROXY_SERVER\":{\"auth\":\"$(printf "%s:%s" "$CI_DEPENDENCY_PROXY_USER" "$CI_DEPENDENCY_PROXY_PASSWORD" | base64 | tr -d '\n')\"}}}" > /kaniko/.docker/config.json
- sed -i "1iFROM $IMAGE_SOURCE" "$DOCKER_FILE"
- /kaniko/executor --context "$CI_PROJECT_DIR" --dockerfile "$DOCKER_FILE" --destination "$IMAGE_LOCAL"
build-image-amd64:
extends: .build-image
variables:
ARCH: "amd64"
build-image-arm64:
extends: .build-image
tags:
- arm64
variables:
ARCH: "arm64"
build-image:
extends: .build-image
image:
name: curlimages/curl:latest
entrypoint: [""]
needs: ["build-image-amd64", "build-image-arm64"]
script:
- curl -s -L https://github.com/estesp/manifest-tool/releases/download/v2.2.0/binaries-manifest-tool-2.2.0.tar.gz | tar xz manifest-tool-linux-amd64
- ./manifest-tool-linux-amd64 --username "${CI_REGISTRY_USER}" --password "${CI_REGISTRY_PASSWORD}" push from-args
--platforms linux/amd64,linux/arm64 --template ${CI_REGISTRY_IMAGE}:debian-trixie-ARCH --target ${CI_REGISTRY_IMAGE}:debian-trixie