monado/.gitlab-ci/templates/include.win_containers.yml

80 lines
2.5 KiB
YAML

# {#- included by .gitlab-ci.yml.jinja #}
# {#- SPDX-License-Identifier: CC0-1.0 #}
# {#- SPDX-FileCopyrightText: 2018-2022 Collabora, Ltd. and the Monado contributors #}
###
# Windows container-related jobs (prep and usage)
.monado.common_variables.windows:vs2022:
inherit:
default: false
variables:
MONADO_WIN_BASE_TAG: "20240607.0"
MONADO_WIN_MAIN_TAG: "20240607.0"
MONADO_BASE_IMAGE_PATH: "win2022/vs2022_base"
MONADO_MAIN_IMAGE_PATH: "win2022/vs2022"
.monado.variables.windows:vs2022:
inherit:
default: false
extends:
- .monado.common_variables.windows:vs2022
variables:
MONADO_IMAGE_PATH: "$MONADO_MAIN_IMAGE_PATH"
FDO_DISTRIBUTION_TAG: "$MONADO_WIN_MAIN_TAG"
MONADO_IMAGE: "$CI_REGISTRY_IMAGE/$MONADO_IMAGE_PATH:$FDO_DISTRIBUTION_TAG"
MONADO_UPSTREAM_IMAGE: "$CI_REGISTRY/$FDO_UPSTREAM_REPO/$MONADO_IMAGE_PATH:$FDO_DISTRIBUTION_TAG"
# Shared container-building job
.monado.windows.container_prep:
inherit:
default: false
tags:
- windows
- "2022"
- shell
variables:
GIT_STRATEGY: fetch
extends:
- .container-rules
stage: container_prep
script:
- |
.gitlab-ci\windows\monado_container.ps1 -RegistryUri "$CI_REGISTRY" -RegistryUsername "$CI_REGISTRY_USER" -UserImage "$MONADO_IMAGE" -UpstreamImage "$MONADO_UPSTREAM_IMAGE" -Dockerfile "$DOCKERFILE" -BaseImage "$MONADO_BASE_IMAGE" -BaseUpstreamImage "$MONADO_UPSTREAM_BASE_IMAGE" -Verbose
# This container just installs Visual C++ Build Tools.
win:container_prep:base:
extends:
- .monado.windows.container_prep
- .monado.common_variables.windows:vs2022
variables:
DOCKERFILE: Dockerfile.vs2022
MONADO_IMAGE_PATH: ${MONADO_BASE_IMAGE_PATH}
FDO_DISTRIBUTION_TAG: "$MONADO_WIN_BASE_TAG"
MONADO_IMAGE: "$CI_REGISTRY_IMAGE/$MONADO_IMAGE_PATH:$FDO_DISTRIBUTION_TAG"
MONADO_UPSTREAM_IMAGE: "$CI_REGISTRY/$FDO_UPSTREAM_REPO/$MONADO_IMAGE_PATH:$FDO_DISTRIBUTION_TAG"
# This container adds other deps
win:container_prep:
extends:
- .monado.windows.container_prep
- .monado.variables.windows:vs2022
needs:
- win:container_prep:base
variables:
DOCKERFILE: Dockerfile.build
MONADO_BASE_IMAGE: "$CI_REGISTRY_IMAGE/$MONADO_BASE_IMAGE_PATH:$MONADO_WIN_BASE_TAG"
MONADO_UPSTREAM_BASE_IMAGE: "$CI_REGISTRY/$FDO_UPSTREAM_REPO/$MONADO_BASE_IMAGE_PATH:$MONADO_WIN_BASE_TAG"
# Base job to use a Windows build container
.monado.image.windows:
tags:
- windows
- "2022"
- docker
extends:
- .monado.variables.windows:vs2022
- .build-rules
image: $MONADO_IMAGE