mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 11:40:10 +01:00
ci: split long containers build yaml
The yaml file for the definitions for container build on different systems can have a split between systems before split between hidden and build jobs. Signed-off-by: Sergi Blanch-Torne <sergi.blanch.torne@collabora.com> Acked-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org> Reviewed-by: Eric Engestrom <eric@igalia.com> Reviewed-by: Valentine Burley <valentine.burley@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35427>
This commit is contained in:
parent
6ba1b61395
commit
d5c63dd292
6 changed files with 870 additions and 814 deletions
68
.gitlab-ci/container/alpine/gitlab-ci.yml
Normal file
68
.gitlab-ci/container/alpine/gitlab-ci.yml
Normal file
|
|
@ -0,0 +1,68 @@
|
||||||
|
# Build the CI Alpine docker images.
|
||||||
|
#
|
||||||
|
# MESA_IMAGE_TAG is the tag of the docker image used by later stage jobs. If the
|
||||||
|
# image doesn't exist yet, the container stage job generates it.
|
||||||
|
#
|
||||||
|
# In order to generate a new image, one should generally change the tag.
|
||||||
|
# While removing the image from the registry would also work, that's not
|
||||||
|
# recommended except for ephemeral images during development: Replacing
|
||||||
|
# an image after a significant amount of time might pull in newer
|
||||||
|
# versions of gcc/clang or other packages, which might break the build
|
||||||
|
# with older commits using the same tag.
|
||||||
|
#
|
||||||
|
# After merging a change resulting in generating a new image to the
|
||||||
|
# main repository, it's recommended to remove the image from the source
|
||||||
|
# repository's container registry, so that the image from the main
|
||||||
|
# repository's registry will be used there as well.
|
||||||
|
|
||||||
|
# Alpine based x86_64 build image
|
||||||
|
.alpine/x86_64_build-base:
|
||||||
|
extends:
|
||||||
|
- .fdo.container-build@alpine
|
||||||
|
- .container
|
||||||
|
variables:
|
||||||
|
FDO_DISTRIBUTION_VERSION: "3.21"
|
||||||
|
FDO_BASE_IMAGE: alpine:$FDO_DISTRIBUTION_VERSION # since cbuild ignores it
|
||||||
|
|
||||||
|
# Alpine based x86_64 build image
|
||||||
|
alpine/x86_64_build:
|
||||||
|
extends:
|
||||||
|
- .alpine/x86_64_build-base
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_TAG: &alpine-x86_64_build ${ALPINE_X86_64_BUILD_TAG}
|
||||||
|
LLVM_VERSION: &alpine-llvm_version 19
|
||||||
|
rules:
|
||||||
|
- !reference [.container, rules]
|
||||||
|
# Note: the next three lines must remain in that order, so that the rules
|
||||||
|
# in `linkcheck-docs` catch nightly pipelines before the rules in `deploy-docs`
|
||||||
|
# exclude them.
|
||||||
|
- !reference [linkcheck-docs, rules]
|
||||||
|
- !reference [deploy-docs, rules]
|
||||||
|
- !reference [test-docs, rules]
|
||||||
|
|
||||||
|
.use-alpine/x86_64_build:
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
|
||||||
|
extends:
|
||||||
|
- .set-image
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_PATH: "alpine/x86_64_build"
|
||||||
|
MESA_IMAGE_TAG: *alpine-x86_64_build
|
||||||
|
LLVM_VERSION: *alpine-llvm_version
|
||||||
|
needs:
|
||||||
|
- job: alpine/x86_64_build
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
# Alpine based x86_64 image for LAVA SSH dockerized client
|
||||||
|
alpine/x86_64_lava_ssh_client:
|
||||||
|
extends:
|
||||||
|
- .alpine/x86_64_build-base
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_TAG: &alpine-x86_64_lava_ssh_client ${ALPINE_X86_64_LAVA_SSH_TAG}
|
||||||
|
|
||||||
|
# Alpine based x86_64 image to run LAVA jobs
|
||||||
|
alpine/x86_64_lava-trigger:
|
||||||
|
extends:
|
||||||
|
- .alpine/x86_64_build-base
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_TAG: &alpine-x86_64_lava_trigger ${ALPINE_X86_64_LAVA_TRIGGER_TAG}
|
||||||
536
.gitlab-ci/container/debian/gitlab-ci.yml
Normal file
536
.gitlab-ci/container/debian/gitlab-ci.yml
Normal file
|
|
@ -0,0 +1,536 @@
|
||||||
|
# Build the CI Debian docker images.
|
||||||
|
#
|
||||||
|
# MESA_IMAGE_TAG is the tag of the docker image used by later stage jobs. If the
|
||||||
|
# image doesn't exist yet, the container stage job generates it.
|
||||||
|
#
|
||||||
|
# In order to generate a new image, one should generally change the tag.
|
||||||
|
# While removing the image from the registry would also work, that's not
|
||||||
|
# recommended except for ephemeral images during development: Replacing
|
||||||
|
# an image after a significant amount of time might pull in newer
|
||||||
|
# versions of gcc/clang or other packages, which might break the build
|
||||||
|
# with older commits using the same tag.
|
||||||
|
#
|
||||||
|
# After merging a change resulting in generating a new image to the
|
||||||
|
# main repository, it's recommended to remove the image from the source
|
||||||
|
# repository's container registry, so that the image from the main
|
||||||
|
# repository's registry will be used there as well.
|
||||||
|
|
||||||
|
.debian-container-version:
|
||||||
|
variables:
|
||||||
|
FDO_DISTRIBUTION_VERSION: bookworm-slim
|
||||||
|
|
||||||
|
.debian-container:
|
||||||
|
extends:
|
||||||
|
- .fdo.container-build@debian
|
||||||
|
- .container
|
||||||
|
- .debian-container-version
|
||||||
|
|
||||||
|
# Debian based x86_64 build image base
|
||||||
|
debian/x86_64_build-base:
|
||||||
|
extends:
|
||||||
|
- .debian-container
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_TAG: &debian-x86_64_build-base "${DEBIAN_BASE_TAG}--${PKG_REPO_REV}"
|
||||||
|
LLVM_VERSION: &debian-x86_64-llvm 19
|
||||||
|
|
||||||
|
.use-debian/x86_64_build-base:
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
|
||||||
|
extends:
|
||||||
|
- .fdo.container-build@debian
|
||||||
|
- .debian-container-version
|
||||||
|
- .use-base-image
|
||||||
|
variables:
|
||||||
|
MESA_BASE_IMAGE: "debian/x86_64_build-base"
|
||||||
|
MESA_BASE_TAG: *debian-x86_64_build-base
|
||||||
|
LLVM_VERSION: *debian-x86_64-llvm
|
||||||
|
needs:
|
||||||
|
- job: debian/x86_64_build-base
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
# Debian based x86_64 main build image
|
||||||
|
debian/x86_64_build:
|
||||||
|
extends:
|
||||||
|
- .use-debian/x86_64_build-base
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_TAG: &debian-x86_64_build ${DEBIAN_BUILD_TAG}
|
||||||
|
LLVM_VERSION: *debian-x86_64-llvm
|
||||||
|
|
||||||
|
.use-debian/x86_64_build:
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
|
||||||
|
extends:
|
||||||
|
- .set-image-base-tag
|
||||||
|
variables:
|
||||||
|
MESA_BASE_TAG: *debian-x86_64_build-base
|
||||||
|
MESA_IMAGE_PATH: "debian/x86_64_build"
|
||||||
|
MESA_IMAGE_TAG: *debian-x86_64_build
|
||||||
|
LLVM_VERSION: *debian-x86_64-llvm
|
||||||
|
needs:
|
||||||
|
- job: debian/x86_64_build
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
# Debian based x86_32 cross-build image
|
||||||
|
debian/x86_32_build:
|
||||||
|
extends:
|
||||||
|
- .use-debian/x86_64_build-base
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_TAG: &debian-x86_32_build ${DEBIAN_BUILD_TAG}
|
||||||
|
|
||||||
|
.use-debian/x86_32_build:
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
|
||||||
|
extends:
|
||||||
|
- .set-image-base-tag
|
||||||
|
variables:
|
||||||
|
MESA_BASE_TAG: *debian-x86_64_build-base
|
||||||
|
MESA_IMAGE_PATH: "debian/x86_32_build"
|
||||||
|
MESA_IMAGE_TAG: *debian-x86_32_build
|
||||||
|
LLVM_VERSION: *debian-x86_64-llvm
|
||||||
|
needs:
|
||||||
|
- job: debian/x86_32_build
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
# Debian based ppc64el cross-build image
|
||||||
|
debian/ppc64el_build:
|
||||||
|
extends:
|
||||||
|
- .use-debian/x86_64_build-base
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_TAG: &debian-ppc64el_build ${DEBIAN_BUILD_TAG}
|
||||||
|
LLVM_VERSION: &debian-ppc64el-llvm 15 # no LLVM packages for PPC
|
||||||
|
|
||||||
|
.use-debian/ppc64el_build:
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
|
||||||
|
extends:
|
||||||
|
- .set-image-base-tag
|
||||||
|
variables:
|
||||||
|
MESA_BASE_TAG: *debian-x86_64_build-base
|
||||||
|
MESA_IMAGE_PATH: "debian/ppc64el_build"
|
||||||
|
MESA_IMAGE_TAG: *debian-ppc64el_build
|
||||||
|
LLVM_VERSION: *debian-ppc64el-llvm
|
||||||
|
needs:
|
||||||
|
- job: debian/ppc64el_build
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
# Debian based s390x cross-build image
|
||||||
|
debian/s390x_build:
|
||||||
|
extends:
|
||||||
|
- .use-debian/x86_64_build-base
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_TAG: &debian-s390x_build ${DEBIAN_BUILD_TAG}
|
||||||
|
LLVM_VERSION: &debian-s390x-llvm 19
|
||||||
|
|
||||||
|
.use-debian/s390x_build:
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
|
||||||
|
extends:
|
||||||
|
- .set-image-base-tag
|
||||||
|
variables:
|
||||||
|
MESA_BASE_TAG: *debian-x86_64_build-base
|
||||||
|
MESA_IMAGE_PATH: "debian/s390x_build"
|
||||||
|
MESA_IMAGE_TAG: *debian-s390x_build
|
||||||
|
LLVM_VERSION: *debian-s390x-llvm
|
||||||
|
needs:
|
||||||
|
- job: debian/s390x_build
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
# Android NDK cross-build image
|
||||||
|
.android-variables:
|
||||||
|
variables:
|
||||||
|
ANDROID_VERSION: 14
|
||||||
|
ANDROID_NDK_VERSION: "r27c"
|
||||||
|
ANDROID_SDK_VERSION: 34
|
||||||
|
ANDROID_LLVM_VERSION: llvmorg-19.1.7
|
||||||
|
ANDROID_LLVM_ARTIFACT_NAME: android-x86_64-llvm-20250324
|
||||||
|
# This can be confusing: LLVM_VERSION refers to the host LLVM toolchain
|
||||||
|
# used (LLVM 19 in our Debian system), but ANDROID_LLVM_VERSION refers to
|
||||||
|
# the cross-compiling LLVM toolchain used to build for the Android system.
|
||||||
|
LLVM_VERSION: &debian-android-llvm 19
|
||||||
|
CUTTLEFISH_PROJECT_PATH: ao2/aosp-manifest
|
||||||
|
CUTTLEFISH_BUILD_VERSION_TAGS: mesa-venus
|
||||||
|
CUTTLEFISH_BUILD_NUMBER: 20250506.001
|
||||||
|
AOSP_KERNEL_PROJECT_PATH: ao2/aosp-kernel-manifest
|
||||||
|
AOSP_KERNEL_BUILD_VERSION_TAGS: common-android14-6.1-venus
|
||||||
|
AOSP_KERNEL_BUILD_NUMBER: 20241107.001
|
||||||
|
|
||||||
|
debian/android_build:
|
||||||
|
extends:
|
||||||
|
- .android-variables
|
||||||
|
- .use-debian/x86_64_build-base
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_TAG: &debian-android_build ${DEBIAN_BUILD_TAG}
|
||||||
|
|
||||||
|
.use-debian/android_build:
|
||||||
|
extends:
|
||||||
|
- .android-variables
|
||||||
|
- .set-image-base-tag
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
|
||||||
|
variables:
|
||||||
|
MESA_BASE_TAG: *debian-x86_64_build-base
|
||||||
|
MESA_IMAGE_PATH: "debian/android_build"
|
||||||
|
MESA_IMAGE_TAG: *debian-android_build
|
||||||
|
needs:
|
||||||
|
- job: debian/android_build
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
# Debian based ARM build image
|
||||||
|
debian/arm64_build:
|
||||||
|
extends:
|
||||||
|
- .fdo.container-build@debian
|
||||||
|
- .container
|
||||||
|
- .debian-container-version
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_TAG: &debian-arm64_build "${DEBIAN_BUILD_TAG}--${DEBIAN_BASE_TAG}--${PKG_REPO_REV}"
|
||||||
|
LLVM_VERSION: &debian-arm64-llvm 19
|
||||||
|
|
||||||
|
.use-debian/arm64_build:
|
||||||
|
extends:
|
||||||
|
- .set-image
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_PATH: "debian/arm64_build"
|
||||||
|
MESA_IMAGE_TAG: *debian-arm64_build
|
||||||
|
MESA_ARTIFACTS_TAG: *debian-arm64_build
|
||||||
|
LLVM_VERSION: *debian-arm64-llvm
|
||||||
|
needs:
|
||||||
|
- job: debian/arm64_build
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
|
||||||
|
# Debian based x86_64 test image base
|
||||||
|
debian/x86_64_test-base:
|
||||||
|
extends:
|
||||||
|
- .debian-container
|
||||||
|
- .container-builds-base
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_TAG: &debian-x86_64_test-base "${DEBIAN_BASE_TAG}--${PKG_REPO_REV}"
|
||||||
|
LLVM_VERSION: *debian-x86_64-llvm
|
||||||
|
|
||||||
|
.use-debian/x86_64_test-base:
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
|
||||||
|
extends:
|
||||||
|
- .fdo.container-build@debian
|
||||||
|
- .debian-container-version
|
||||||
|
- .use-base-image
|
||||||
|
variables:
|
||||||
|
MESA_BASE_IMAGE: "debian/x86_64_test-base"
|
||||||
|
MESA_BASE_TAG: *debian-x86_64_test-base
|
||||||
|
LLVM_VERSION: *debian-x86_64-llvm
|
||||||
|
needs:
|
||||||
|
- job: debian/x86_64_test-base
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
# Debian based ARMv7/armhf test image base
|
||||||
|
debian/arm32_test-base:
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
||||||
|
extends:
|
||||||
|
- .debian-container
|
||||||
|
- .container-builds-base
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_TAG: &debian-arm32_test-base "${DEBIAN_BASE_TAG}--${PKG_REPO_REV}"
|
||||||
|
LLVM_VERSION: *debian-arm64-llvm
|
||||||
|
FDO_DISTRIBUTION_PLATFORM: "linux/arm/v7"
|
||||||
|
|
||||||
|
.use-debian/arm32_test-base:
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
||||||
|
extends:
|
||||||
|
- .fdo.container-build@debian
|
||||||
|
- .debian-container-version
|
||||||
|
- .use-base-image
|
||||||
|
variables:
|
||||||
|
MESA_BASE_IMAGE: "debian/arm32_test-base"
|
||||||
|
MESA_BASE_TAG: *debian-arm32_test-base
|
||||||
|
LLVM_VERSION: *debian-arm64-llvm
|
||||||
|
FDO_DISTRIBUTION_PLATFORM: "linux/arm/v7"
|
||||||
|
needs:
|
||||||
|
- job: debian/arm32_test-base
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
# Debian based aarch64 test image base
|
||||||
|
debian/arm64_test-base:
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
||||||
|
extends:
|
||||||
|
- .debian-container
|
||||||
|
- .container-builds-base
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_TAG: &debian-arm64_test-base "${DEBIAN_BASE_TAG}--${PKG_REPO_REV}"
|
||||||
|
LLVM_VERSION: *debian-arm64-llvm
|
||||||
|
|
||||||
|
.use-debian/arm64_test-base:
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
||||||
|
extends:
|
||||||
|
- .fdo.container-build@debian
|
||||||
|
- .debian-container-version
|
||||||
|
- .use-base-image
|
||||||
|
variables:
|
||||||
|
MESA_BASE_IMAGE: "debian/arm64_test-base"
|
||||||
|
MESA_BASE_TAG: *debian-arm64_test-base
|
||||||
|
LLVM_VERSION: *debian-arm64-llvm
|
||||||
|
needs:
|
||||||
|
- job: debian/arm64_test-base
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
# Debian based x86_64 test image for GL
|
||||||
|
debian/x86_64_test-gl:
|
||||||
|
extends:
|
||||||
|
- .use-debian/x86_64_test-base
|
||||||
|
- .container-builds-gl
|
||||||
|
- .export-container
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_TAG: &debian-x86_64_test-gl ${DEBIAN_TEST_GL_TAG}
|
||||||
|
|
||||||
|
.use-debian/x86_64_test-gl:
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
|
||||||
|
extends:
|
||||||
|
- .set-image-base-tag
|
||||||
|
variables:
|
||||||
|
MESA_BASE_TAG: *debian-x86_64_test-base
|
||||||
|
MESA_IMAGE_PATH: "debian/x86_64_test-gl"
|
||||||
|
MESA_IMAGE_TAG: *debian-x86_64_test-gl
|
||||||
|
needs:
|
||||||
|
- job: debian/x86_64_test-gl
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
# Debian based x86_64 test image for VK
|
||||||
|
debian/x86_64_test-vk:
|
||||||
|
extends:
|
||||||
|
- .use-debian/x86_64_test-base
|
||||||
|
- .container-builds-vk
|
||||||
|
- .export-container
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_TAG: &debian-x86_64_test-vk ${DEBIAN_TEST_VK_TAG}
|
||||||
|
|
||||||
|
.use-debian/x86_64_test-vk:
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
|
||||||
|
extends:
|
||||||
|
- .set-image-base-tag
|
||||||
|
variables:
|
||||||
|
MESA_BASE_TAG: *debian-x86_64_test-base
|
||||||
|
MESA_IMAGE_PATH: "debian/x86_64_test-vk"
|
||||||
|
MESA_IMAGE_TAG: *debian-x86_64_test-vk
|
||||||
|
needs:
|
||||||
|
- job: debian/x86_64_test-vk
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
# Debian based x86_64 test image for Android
|
||||||
|
debian/x86_64_test-android:
|
||||||
|
extends:
|
||||||
|
- .android-variables
|
||||||
|
- .use-debian/x86_64_test-base
|
||||||
|
- .container-builds-android
|
||||||
|
- .export-container
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_TAG: &debian-x86_64_test-android ${DEBIAN_TEST_ANDROID_TAG}
|
||||||
|
|
||||||
|
.use-debian/x86_64_test-android:
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64_KVM
|
||||||
|
extends:
|
||||||
|
- .android-variables
|
||||||
|
- .set-image-base-tag
|
||||||
|
variables:
|
||||||
|
MESA_BASE_TAG: *debian-x86_64_test-base
|
||||||
|
MESA_IMAGE_PATH: "debian/x86_64_test-android"
|
||||||
|
MESA_IMAGE_TAG: *debian-x86_64_test-android
|
||||||
|
needs:
|
||||||
|
- job: debian/x86_64_test-android
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
# Debian based x86_64 test image for video
|
||||||
|
debian/x86_64_test-video:
|
||||||
|
extends:
|
||||||
|
- .use-debian/x86_64_test-base
|
||||||
|
- .container-builds-video
|
||||||
|
- .export-container
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_TAG: &debian-x86_64_test-video ${DEBIAN_TEST_VIDEO_TAG}
|
||||||
|
|
||||||
|
.use-debian/x86_64_test-video:
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
|
||||||
|
extends:
|
||||||
|
- .set-image-base-tag
|
||||||
|
variables:
|
||||||
|
MESA_BASE_TAG: *debian-x86_64_test-base
|
||||||
|
MESA_IMAGE_PATH: "debian/x86_64_test-video"
|
||||||
|
MESA_IMAGE_TAG: *debian-x86_64_test-video
|
||||||
|
needs:
|
||||||
|
- job: debian/x86_64_test-video
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
# Debian based ARMv7/armhf test image for GL
|
||||||
|
debian/arm32_test-gl:
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
||||||
|
extends:
|
||||||
|
- .use-debian/arm32_test-base
|
||||||
|
- .container-builds-arm32
|
||||||
|
- .export-container
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_TAG: &debian-arm32_test-gl ${DEBIAN_TEST_GL_TAG}
|
||||||
|
|
||||||
|
.use-debian/arm32_test-gl:
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
||||||
|
extends:
|
||||||
|
- .set-image-base-tag
|
||||||
|
variables:
|
||||||
|
MESA_BASE_TAG: *debian-arm32_test-base
|
||||||
|
MESA_IMAGE_PATH: "debian/arm32_test-gl"
|
||||||
|
MESA_IMAGE_TAG: *debian-arm32_test-gl
|
||||||
|
needs:
|
||||||
|
- job: debian/arm32_test-gl
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
# Debian based ARMv7/armhf test image for VK
|
||||||
|
debian/arm32_test-vk:
|
||||||
|
rules:
|
||||||
|
- when: never # There are currently no arm32 VK jobs
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
||||||
|
extends:
|
||||||
|
- .use-debian/arm32_test-base
|
||||||
|
- .container-builds-arm32
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_TAG: &debian-arm32_test-vk ${DEBIAN_TEST_VK_TAG}
|
||||||
|
|
||||||
|
.use-debian/arm32_test-vk:
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
||||||
|
extends:
|
||||||
|
- .set-image-base-tag
|
||||||
|
variables:
|
||||||
|
MESA_BASE_TAG: *debian-arm32_test-base
|
||||||
|
MESA_IMAGE_PATH: "debian/arm32_test-vk"
|
||||||
|
MESA_IMAGE_TAG: *debian-arm32_test-vk
|
||||||
|
needs:
|
||||||
|
- job: debian/arm32_test-vk
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
# Debian based aarch64 test image for GL
|
||||||
|
debian/arm64_test-gl:
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
||||||
|
extends:
|
||||||
|
- .use-debian/arm64_test-base
|
||||||
|
- .container-builds-gl
|
||||||
|
- .export-container
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_TAG: &debian-arm64_test-gl ${DEBIAN_TEST_GL_TAG}
|
||||||
|
|
||||||
|
.use-debian/arm64_test-gl:
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
||||||
|
extends:
|
||||||
|
- .set-image-base-tag
|
||||||
|
variables:
|
||||||
|
MESA_BASE_TAG: *debian-arm64_test-base
|
||||||
|
MESA_IMAGE_PATH: "debian/arm64_test-gl"
|
||||||
|
MESA_IMAGE_TAG: *debian-arm64_test-gl
|
||||||
|
needs:
|
||||||
|
- job: debian/arm64_test-gl
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
# Debian based aarch64 test image for VK
|
||||||
|
debian/arm64_test-vk:
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
||||||
|
extends:
|
||||||
|
- .use-debian/arm64_test-base
|
||||||
|
- .container-builds-vk
|
||||||
|
- .export-container
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_TAG: &debian-arm64_test-vk ${DEBIAN_TEST_VK_TAG}
|
||||||
|
|
||||||
|
.use-debian/arm64_test-vk:
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
||||||
|
extends:
|
||||||
|
- .set-image-base-tag
|
||||||
|
variables:
|
||||||
|
MESA_BASE_TAG: *debian-arm64_test-base
|
||||||
|
MESA_IMAGE_PATH: "debian/arm64_test-vk"
|
||||||
|
MESA_IMAGE_TAG: *debian-arm64_test-vk
|
||||||
|
needs:
|
||||||
|
- job: debian/arm64_test-vk
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
# x86_64 image with ARM64 & ARM32 kernel & rootfs for baremetal testing
|
||||||
|
.debian/baremetal_arm_test:
|
||||||
|
extends:
|
||||||
|
- .fdo.container-build@debian
|
||||||
|
- .container
|
||||||
|
- .debian-container-version
|
||||||
|
variables:
|
||||||
|
FDO_DISTRIBUTION_TAG: "${MESA_IMAGE_TAG}--${KERNEL_TAG}--${MESA_TEMPLATES_COMMIT}"
|
||||||
|
MESA_ARTIFACTS_TAG: *debian-arm64_build
|
||||||
|
|
||||||
|
debian/baremetal_arm32_test-gl:
|
||||||
|
extends:
|
||||||
|
- .debian/baremetal_arm_test
|
||||||
|
needs:
|
||||||
|
- job: debian/arm32_test-gl
|
||||||
|
optional: true
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_TAG: &baremetal-arm32_test-gl "${DEBIAN_TEST_GL_TAG}--${DEBIAN_BASE_TAG}--${PKG_REPO_REV}"
|
||||||
|
LAVA_DISTRIBUTION_TAG: "debian/arm32_test-gl:${DEBIAN_TEST_GL_TAG}--${DEBIAN_BASE_TAG}--${PKG_REPO_REV}--${MESA_TEMPLATES_COMMIT}"
|
||||||
|
|
||||||
|
debian/baremetal_arm64_test-gl:
|
||||||
|
extends:
|
||||||
|
- .debian/baremetal_arm_test
|
||||||
|
needs:
|
||||||
|
- job: debian/arm64_test-gl
|
||||||
|
optional: true
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_TAG: &baremetal-arm64_test-gl "${DEBIAN_TEST_GL_TAG}--${DEBIAN_BASE_TAG}--${PKG_REPO_REV}"
|
||||||
|
LAVA_DISTRIBUTION_TAG: "debian/arm64_test-gl:${DEBIAN_TEST_GL_TAG}--${DEBIAN_BASE_TAG}--${PKG_REPO_REV}--${MESA_TEMPLATES_COMMIT}"
|
||||||
|
|
||||||
|
debian/baremetal_arm64_test-vk:
|
||||||
|
extends:
|
||||||
|
- .debian/baremetal_arm_test
|
||||||
|
needs:
|
||||||
|
- job: debian/arm64_test-vk
|
||||||
|
optional: true
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_TAG: &baremetal-arm64_test-vk "${DEBIAN_TEST_VK_TAG}--${DEBIAN_BASE_TAG}--${PKG_REPO_REV}"
|
||||||
|
LAVA_DISTRIBUTION_TAG: "debian/arm64_test-vk:${DEBIAN_TEST_VK_TAG}--${DEBIAN_BASE_TAG}--${PKG_REPO_REV}--${MESA_TEMPLATES_COMMIT}"
|
||||||
|
|
||||||
|
.use-debian/baremetal_arm32_test-gl:
|
||||||
|
image: "$CI_REGISTRY_IMAGE/${MESA_IMAGE_PATH}:${MESA_IMAGE_TAG}--${KERNEL_TAG}--${MESA_TEMPLATES_COMMIT}"
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_PATH: "debian/baremetal_arm32_test-gl"
|
||||||
|
MESA_IMAGE_TAG: *baremetal-arm32_test-gl
|
||||||
|
needs:
|
||||||
|
- job: debian/baremetal_arm32_test-gl
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
.use-debian/baremetal_arm64_test-gl:
|
||||||
|
image: "$CI_REGISTRY_IMAGE/${MESA_IMAGE_PATH}:${MESA_IMAGE_TAG}--${KERNEL_TAG}--${MESA_TEMPLATES_COMMIT}"
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_PATH: "debian/baremetal_arm64_test-gl"
|
||||||
|
MESA_IMAGE_TAG: *baremetal-arm64_test-gl
|
||||||
|
needs:
|
||||||
|
- job: debian/baremetal_arm64_test-gl
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
.use-debian/baremetal_arm64_test-vk:
|
||||||
|
image: "$CI_REGISTRY_IMAGE/${MESA_IMAGE_PATH}:${MESA_IMAGE_TAG}--${KERNEL_TAG}--${MESA_TEMPLATES_COMMIT}"
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_PATH: "debian/baremetal_arm64_test-vk"
|
||||||
|
MESA_IMAGE_TAG: *baremetal-arm64_test-vk
|
||||||
|
needs:
|
||||||
|
- job: debian/baremetal_arm64_test-vk
|
||||||
|
optional: true
|
||||||
|
|
||||||
40
.gitlab-ci/container/fedora/gitlab-ci.yml
Normal file
40
.gitlab-ci/container/fedora/gitlab-ci.yml
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
# Build the CI Fedora docker images.
|
||||||
|
#
|
||||||
|
# MESA_IMAGE_TAG is the tag of the docker image used by later stage jobs. If the
|
||||||
|
# image doesn't exist yet, the container stage job generates it.
|
||||||
|
#
|
||||||
|
# In order to generate a new image, one should generally change the tag.
|
||||||
|
# While removing the image from the registry would also work, that's not
|
||||||
|
# recommended except for ephemeral images during development: Replacing
|
||||||
|
# an image after a significant amount of time might pull in newer
|
||||||
|
# versions of gcc/clang or other packages, which might break the build
|
||||||
|
# with older commits using the same tag.
|
||||||
|
#
|
||||||
|
# After merging a change resulting in generating a new image to the
|
||||||
|
# main repository, it's recommended to remove the image from the source
|
||||||
|
# repository's container registry, so that the image from the main
|
||||||
|
# repository's registry will be used there as well.
|
||||||
|
|
||||||
|
# Fedora based x86_64 build image
|
||||||
|
fedora/x86_64_build:
|
||||||
|
extends:
|
||||||
|
- .fdo.container-build@fedora
|
||||||
|
- .container
|
||||||
|
variables:
|
||||||
|
FDO_DISTRIBUTION_VERSION: 42
|
||||||
|
MESA_IMAGE_TAG: &fedora-x86_64_build ${FEDORA_X86_64_BUILD_TAG}
|
||||||
|
LLVM_VERSION: &fedora-x86_64-llvm 20
|
||||||
|
|
||||||
|
.use-fedora/x86_64_build:
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
|
||||||
|
extends:
|
||||||
|
- .set-image
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_PATH: "fedora/x86_64_build"
|
||||||
|
MESA_IMAGE_TAG: *fedora-x86_64_build
|
||||||
|
LLVM_VERSION: *fedora-x86_64-llvm
|
||||||
|
needs:
|
||||||
|
- job: fedora/x86_64_build
|
||||||
|
optional: true
|
||||||
|
|
||||||
114
.gitlab-ci/container/gitlab-ci-inc.yml
Normal file
114
.gitlab-ci/container/gitlab-ci-inc.yml
Normal file
|
|
@ -0,0 +1,114 @@
|
||||||
|
# Docker image tag helper templates
|
||||||
|
|
||||||
|
.incorporate-templates-commit:
|
||||||
|
variables:
|
||||||
|
FDO_DISTRIBUTION_TAG: "${MESA_IMAGE_TAG}--${MESA_TEMPLATES_COMMIT}"
|
||||||
|
|
||||||
|
.incorporate-base-tag+templates-commit:
|
||||||
|
variables:
|
||||||
|
FDO_BASE_IMAGE: "${CI_REGISTRY_IMAGE}/${MESA_BASE_IMAGE}:${MESA_BASE_TAG}--${MESA_TEMPLATES_COMMIT}"
|
||||||
|
FDO_DISTRIBUTION_TAG: "${MESA_IMAGE_TAG}--${MESA_BASE_TAG}--${MESA_TEMPLATES_COMMIT}"
|
||||||
|
|
||||||
|
.set-image:
|
||||||
|
extends:
|
||||||
|
- .incorporate-templates-commit
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE: "$CI_REGISTRY_IMAGE/${MESA_IMAGE_PATH}:${FDO_DISTRIBUTION_TAG}"
|
||||||
|
image: "$MESA_IMAGE"
|
||||||
|
|
||||||
|
.set-image-base-tag:
|
||||||
|
extends:
|
||||||
|
- .set-image
|
||||||
|
- .incorporate-base-tag+templates-commit
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE: "$CI_REGISTRY_IMAGE/${MESA_IMAGE_PATH}:${FDO_DISTRIBUTION_TAG}"
|
||||||
|
|
||||||
|
.container:
|
||||||
|
stage: container
|
||||||
|
timeout: 1h
|
||||||
|
extends:
|
||||||
|
- .container-rules
|
||||||
|
- .incorporate-templates-commit
|
||||||
|
tags:
|
||||||
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
|
||||||
|
before_script:
|
||||||
|
- !reference [default, before_script]
|
||||||
|
# Undoing the `eval "$S3_JWT_FILE_SCRIPT"` from the default before_script,
|
||||||
|
# because container_job_trampoline.sh and fdo_cntr_export.sh both need it.
|
||||||
|
- S3_JWT=$(cat "${S3_JWT_FILE}")
|
||||||
|
- export S3_JWT_FILE_SCRIPT="echo -n '${S3_JWT}' > '${S3_JWT_FILE}' && S3_JWT_FILE_SCRIPT= && unset CI_JOB_JWT S3_JWT"
|
||||||
|
variables:
|
||||||
|
FDO_REPO_SUFFIX: $CI_JOB_NAME
|
||||||
|
FDO_DISTRIBUTION_EXEC: 'bash .gitlab-ci/container/container_job_trampoline.sh "${CI_JOB_NAME}"'
|
||||||
|
# no need to pull the whole repo to build the container image
|
||||||
|
GIT_STRATEGY: none
|
||||||
|
CI_BUILD_COMPONENTS: "$CI_BUILD_COMPONENTS_ANDROID_CTS $CI_BUILD_COMPONENTS_ANGLE $CI_BUILD_COMPONENTS_CROSVM $CI_BUILD_COMPONENTS_FLUSTER $CI_BUILD_COMPONENTS_PIGLIT $CI_BUILD_COMPONENTS_VKD3D_PROTON"
|
||||||
|
|
||||||
|
.container-builds-angle:
|
||||||
|
variables:
|
||||||
|
ANGLE_TAG: "${CONDITIONAL_BUILD_ANGLE_TAG}"
|
||||||
|
CI_BUILD_COMPONENTS_ANGLE: angle
|
||||||
|
|
||||||
|
.container-builds-crosvm:
|
||||||
|
variables:
|
||||||
|
CROSVM_TAG: "${CONDITIONAL_BUILD_CROSVM_TAG}"
|
||||||
|
CI_BUILD_COMPONENTS_CROSVM: crosvm
|
||||||
|
|
||||||
|
.container-builds-fluster:
|
||||||
|
variables:
|
||||||
|
FLUSTER_TAG: "${CONDITIONAL_BUILD_FLUSTER_TAG}"
|
||||||
|
CI_BUILD_COMPONENTS_FLUSTER: fluster
|
||||||
|
|
||||||
|
.container-builds-piglit:
|
||||||
|
variables:
|
||||||
|
PIGLIT_TAG: "${CONDITIONAL_BUILD_PIGLIT_TAG}"
|
||||||
|
CI_BUILD_COMPONENTS_PIGLIT: piglit
|
||||||
|
|
||||||
|
.container-builds-vkd3d-proton:
|
||||||
|
variables:
|
||||||
|
VKD3D_PROTON_TAG: "${CONDITIONAL_BUILD_VKD3D_PROTON_TAG}"
|
||||||
|
CI_BUILD_COMPONENTS_VKD3D_PROTON: vkd3d-proton
|
||||||
|
|
||||||
|
.container-builds-android-cts:
|
||||||
|
variables:
|
||||||
|
ANDROID_CTS_TAG: "${CONDITIONAL_BUILD_ANDROID_CTS_TAG}"
|
||||||
|
CI_BUILD_COMPONENTS_ANDROID_CTS: android-cts
|
||||||
|
|
||||||
|
.container-builds-android:
|
||||||
|
extends:
|
||||||
|
- .container-builds-android-cts
|
||||||
|
- .container-builds-angle
|
||||||
|
|
||||||
|
.container-builds-arm32:
|
||||||
|
extends:
|
||||||
|
- .container-builds-piglit
|
||||||
|
|
||||||
|
.container-builds-base:
|
||||||
|
extends:
|
||||||
|
- .container-builds-crosvm
|
||||||
|
|
||||||
|
.container-builds-gl:
|
||||||
|
extends:
|
||||||
|
- .container-builds-angle
|
||||||
|
- .container-builds-piglit
|
||||||
|
|
||||||
|
.container-builds-video:
|
||||||
|
extends:
|
||||||
|
- .container-builds-fluster
|
||||||
|
|
||||||
|
.container-builds-vk:
|
||||||
|
extends:
|
||||||
|
- .container-builds-piglit
|
||||||
|
- .container-builds-vkd3d-proton
|
||||||
|
|
||||||
|
# Export the container rootfs and upload it to S3
|
||||||
|
.export-container:
|
||||||
|
variables:
|
||||||
|
FDO_DISTRIBUTION_PACKAGES: zstd
|
||||||
|
FDO_DISTRIBUTION_POST_EXEC: 'bash .gitlab-ci/container/fdo_cntr_export.sh'
|
||||||
|
|
||||||
|
.use-base-image:
|
||||||
|
extends:
|
||||||
|
- .container
|
||||||
|
- .incorporate-base-tag+templates-commit
|
||||||
|
|
||||||
|
|
@ -1,28 +1,3 @@
|
||||||
# Docker image tag helper templates
|
|
||||||
|
|
||||||
.incorporate-templates-commit:
|
|
||||||
variables:
|
|
||||||
FDO_DISTRIBUTION_TAG: "${MESA_IMAGE_TAG}--${MESA_TEMPLATES_COMMIT}"
|
|
||||||
|
|
||||||
.incorporate-base-tag+templates-commit:
|
|
||||||
variables:
|
|
||||||
FDO_BASE_IMAGE: "${CI_REGISTRY_IMAGE}/${MESA_BASE_IMAGE}:${MESA_BASE_TAG}--${MESA_TEMPLATES_COMMIT}"
|
|
||||||
FDO_DISTRIBUTION_TAG: "${MESA_IMAGE_TAG}--${MESA_BASE_TAG}--${MESA_TEMPLATES_COMMIT}"
|
|
||||||
|
|
||||||
.set-image:
|
|
||||||
extends:
|
|
||||||
- .incorporate-templates-commit
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE: "$CI_REGISTRY_IMAGE/${MESA_IMAGE_PATH}:${FDO_DISTRIBUTION_TAG}"
|
|
||||||
image: "$MESA_IMAGE"
|
|
||||||
|
|
||||||
.set-image-base-tag:
|
|
||||||
extends:
|
|
||||||
- .set-image
|
|
||||||
- .incorporate-base-tag+templates-commit
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE: "$CI_REGISTRY_IMAGE/${MESA_IMAGE_PATH}:${FDO_DISTRIBUTION_TAG}"
|
|
||||||
|
|
||||||
# Build the CI docker images.
|
# Build the CI docker images.
|
||||||
#
|
#
|
||||||
# MESA_IMAGE_TAG is the tag of the docker image used by later stage jobs. If the
|
# MESA_IMAGE_TAG is the tag of the docker image used by later stage jobs. If the
|
||||||
|
|
@ -40,793 +15,7 @@
|
||||||
# repository's container registry, so that the image from the main
|
# repository's container registry, so that the image from the main
|
||||||
# repository's registry will be used there as well.
|
# repository's registry will be used there as well.
|
||||||
|
|
||||||
.debian-container-version:
|
include:
|
||||||
variables:
|
- local: '.gitlab-ci/container/gitlab-ci-inc.yml'
|
||||||
FDO_DISTRIBUTION_VERSION: bookworm-slim
|
- local: '.gitlab-ci/container/*/gitlab-ci.yml'
|
||||||
|
|
||||||
.debian-container:
|
|
||||||
extends:
|
|
||||||
- .fdo.container-build@debian
|
|
||||||
- .container
|
|
||||||
- .debian-container-version
|
|
||||||
|
|
||||||
.container:
|
|
||||||
stage: container
|
|
||||||
timeout: 1h
|
|
||||||
extends:
|
|
||||||
- .container-rules
|
|
||||||
- .incorporate-templates-commit
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
|
|
||||||
before_script:
|
|
||||||
- !reference [default, before_script]
|
|
||||||
# Undoing the `eval "$S3_JWT_FILE_SCRIPT"` from the default before_script,
|
|
||||||
# because container_job_trampoline.sh and fdo_cntr_export.sh both need it.
|
|
||||||
- S3_JWT=$(cat "${S3_JWT_FILE}")
|
|
||||||
- export S3_JWT_FILE_SCRIPT="echo -n '${S3_JWT}' > '${S3_JWT_FILE}' && S3_JWT_FILE_SCRIPT= && unset CI_JOB_JWT S3_JWT"
|
|
||||||
variables:
|
|
||||||
FDO_REPO_SUFFIX: $CI_JOB_NAME
|
|
||||||
FDO_DISTRIBUTION_EXEC: 'bash .gitlab-ci/container/container_job_trampoline.sh "${CI_JOB_NAME}"'
|
|
||||||
# no need to pull the whole repo to build the container image
|
|
||||||
GIT_STRATEGY: none
|
|
||||||
CI_BUILD_COMPONENTS: "$CI_BUILD_COMPONENTS_ANDROID_CTS $CI_BUILD_COMPONENTS_ANGLE $CI_BUILD_COMPONENTS_CROSVM $CI_BUILD_COMPONENTS_FLUSTER $CI_BUILD_COMPONENTS_PIGLIT $CI_BUILD_COMPONENTS_VKD3D_PROTON"
|
|
||||||
|
|
||||||
.container-builds-angle:
|
|
||||||
variables:
|
|
||||||
ANGLE_TAG: "${CONDITIONAL_BUILD_ANGLE_TAG}"
|
|
||||||
CI_BUILD_COMPONENTS_ANGLE: angle
|
|
||||||
|
|
||||||
.container-builds-crosvm:
|
|
||||||
variables:
|
|
||||||
CROSVM_TAG: "${CONDITIONAL_BUILD_CROSVM_TAG}"
|
|
||||||
CI_BUILD_COMPONENTS_CROSVM: crosvm
|
|
||||||
|
|
||||||
.container-builds-fluster:
|
|
||||||
variables:
|
|
||||||
FLUSTER_TAG: "${CONDITIONAL_BUILD_FLUSTER_TAG}"
|
|
||||||
CI_BUILD_COMPONENTS_FLUSTER: fluster
|
|
||||||
|
|
||||||
.container-builds-piglit:
|
|
||||||
variables:
|
|
||||||
PIGLIT_TAG: "${CONDITIONAL_BUILD_PIGLIT_TAG}"
|
|
||||||
CI_BUILD_COMPONENTS_PIGLIT: piglit
|
|
||||||
|
|
||||||
.container-builds-vkd3d-proton:
|
|
||||||
variables:
|
|
||||||
VKD3D_PROTON_TAG: "${CONDITIONAL_BUILD_VKD3D_PROTON_TAG}"
|
|
||||||
CI_BUILD_COMPONENTS_VKD3D_PROTON: vkd3d-proton
|
|
||||||
|
|
||||||
.container-builds-android-cts:
|
|
||||||
variables:
|
|
||||||
ANDROID_CTS_TAG: "${CONDITIONAL_BUILD_ANDROID_CTS_TAG}"
|
|
||||||
CI_BUILD_COMPONENTS_ANDROID_CTS: android-cts
|
|
||||||
|
|
||||||
.container-builds-android:
|
|
||||||
extends:
|
|
||||||
- .container-builds-android-cts
|
|
||||||
- .container-builds-angle
|
|
||||||
|
|
||||||
.container-builds-arm32:
|
|
||||||
extends:
|
|
||||||
- .container-builds-piglit
|
|
||||||
|
|
||||||
.container-builds-base:
|
|
||||||
extends:
|
|
||||||
- .container-builds-crosvm
|
|
||||||
|
|
||||||
.container-builds-gl:
|
|
||||||
extends:
|
|
||||||
- .container-builds-angle
|
|
||||||
- .container-builds-piglit
|
|
||||||
|
|
||||||
.container-builds-video:
|
|
||||||
extends:
|
|
||||||
- .container-builds-fluster
|
|
||||||
|
|
||||||
.container-builds-vk:
|
|
||||||
extends:
|
|
||||||
- .container-builds-piglit
|
|
||||||
- .container-builds-vkd3d-proton
|
|
||||||
|
|
||||||
# Export the container rootfs and upload it to S3
|
|
||||||
.export-container:
|
|
||||||
variables:
|
|
||||||
FDO_DISTRIBUTION_PACKAGES: zstd
|
|
||||||
FDO_DISTRIBUTION_POST_EXEC: 'bash .gitlab-ci/container/fdo_cntr_export.sh'
|
|
||||||
|
|
||||||
.use-base-image:
|
|
||||||
extends:
|
|
||||||
- .container
|
|
||||||
- .incorporate-base-tag+templates-commit
|
|
||||||
|
|
||||||
# Debian based x86_64 build image base
|
|
||||||
debian/x86_64_build-base:
|
|
||||||
extends:
|
|
||||||
- .debian-container
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_TAG: &debian-x86_64_build-base "${DEBIAN_BASE_TAG}--${PKG_REPO_REV}"
|
|
||||||
LLVM_VERSION: &debian-x86_64-llvm 19
|
|
||||||
|
|
||||||
.use-debian/x86_64_build-base:
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
|
|
||||||
extends:
|
|
||||||
- .fdo.container-build@debian
|
|
||||||
- .debian-container-version
|
|
||||||
- .use-base-image
|
|
||||||
variables:
|
|
||||||
MESA_BASE_IMAGE: "debian/x86_64_build-base"
|
|
||||||
MESA_BASE_TAG: *debian-x86_64_build-base
|
|
||||||
LLVM_VERSION: *debian-x86_64-llvm
|
|
||||||
needs:
|
|
||||||
- job: debian/x86_64_build-base
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
# Debian based x86_64 main build image
|
|
||||||
debian/x86_64_build:
|
|
||||||
extends:
|
|
||||||
- .use-debian/x86_64_build-base
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_TAG: &debian-x86_64_build ${DEBIAN_BUILD_TAG}
|
|
||||||
LLVM_VERSION: *debian-x86_64-llvm
|
|
||||||
|
|
||||||
.use-debian/x86_64_build:
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
|
|
||||||
extends:
|
|
||||||
- .set-image-base-tag
|
|
||||||
variables:
|
|
||||||
MESA_BASE_TAG: *debian-x86_64_build-base
|
|
||||||
MESA_IMAGE_PATH: "debian/x86_64_build"
|
|
||||||
MESA_IMAGE_TAG: *debian-x86_64_build
|
|
||||||
LLVM_VERSION: *debian-x86_64-llvm
|
|
||||||
needs:
|
|
||||||
- job: debian/x86_64_build
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
# Debian based x86_32 cross-build image
|
|
||||||
debian/x86_32_build:
|
|
||||||
extends:
|
|
||||||
- .use-debian/x86_64_build-base
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_TAG: &debian-x86_32_build ${DEBIAN_BUILD_TAG}
|
|
||||||
|
|
||||||
.use-debian/x86_32_build:
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
|
|
||||||
extends:
|
|
||||||
- .set-image-base-tag
|
|
||||||
variables:
|
|
||||||
MESA_BASE_TAG: *debian-x86_64_build-base
|
|
||||||
MESA_IMAGE_PATH: "debian/x86_32_build"
|
|
||||||
MESA_IMAGE_TAG: *debian-x86_32_build
|
|
||||||
LLVM_VERSION: *debian-x86_64-llvm
|
|
||||||
needs:
|
|
||||||
- job: debian/x86_32_build
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
# Debian based ppc64el cross-build image
|
|
||||||
debian/ppc64el_build:
|
|
||||||
extends:
|
|
||||||
- .use-debian/x86_64_build-base
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_TAG: &debian-ppc64el_build ${DEBIAN_BUILD_TAG}
|
|
||||||
LLVM_VERSION: &debian-ppc64el-llvm 15 # no LLVM packages for PPC
|
|
||||||
|
|
||||||
.use-debian/ppc64el_build:
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
|
|
||||||
extends:
|
|
||||||
- .set-image-base-tag
|
|
||||||
variables:
|
|
||||||
MESA_BASE_TAG: *debian-x86_64_build-base
|
|
||||||
MESA_IMAGE_PATH: "debian/ppc64el_build"
|
|
||||||
MESA_IMAGE_TAG: *debian-ppc64el_build
|
|
||||||
LLVM_VERSION: *debian-ppc64el-llvm
|
|
||||||
needs:
|
|
||||||
- job: debian/ppc64el_build
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
# Debian based s390x cross-build image
|
|
||||||
debian/s390x_build:
|
|
||||||
extends:
|
|
||||||
- .use-debian/x86_64_build-base
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_TAG: &debian-s390x_build ${DEBIAN_BUILD_TAG}
|
|
||||||
LLVM_VERSION: &debian-s390x-llvm 19
|
|
||||||
|
|
||||||
.use-debian/s390x_build:
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
|
|
||||||
extends:
|
|
||||||
- .set-image-base-tag
|
|
||||||
variables:
|
|
||||||
MESA_BASE_TAG: *debian-x86_64_build-base
|
|
||||||
MESA_IMAGE_PATH: "debian/s390x_build"
|
|
||||||
MESA_IMAGE_TAG: *debian-s390x_build
|
|
||||||
LLVM_VERSION: *debian-s390x-llvm
|
|
||||||
needs:
|
|
||||||
- job: debian/s390x_build
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
# Android NDK cross-build image
|
|
||||||
.android-variables:
|
|
||||||
variables:
|
|
||||||
ANDROID_VERSION: 14
|
|
||||||
ANDROID_NDK_VERSION: "r27c"
|
|
||||||
ANDROID_SDK_VERSION: 34
|
|
||||||
ANDROID_LLVM_VERSION: llvmorg-19.1.7
|
|
||||||
ANDROID_LLVM_ARTIFACT_NAME: android-x86_64-llvm-20250324
|
|
||||||
# This can be confusing: LLVM_VERSION refers to the host LLVM toolchain
|
|
||||||
# used (LLVM 19 in our Debian system), but ANDROID_LLVM_VERSION refers to
|
|
||||||
# the cross-compiling LLVM toolchain used to build for the Android system.
|
|
||||||
LLVM_VERSION: &debian-android-llvm 19
|
|
||||||
CUTTLEFISH_PROJECT_PATH: ao2/aosp-manifest
|
|
||||||
CUTTLEFISH_BUILD_VERSION_TAGS: mesa-venus
|
|
||||||
CUTTLEFISH_BUILD_NUMBER: 20250506.001
|
|
||||||
AOSP_KERNEL_PROJECT_PATH: ao2/aosp-kernel-manifest
|
|
||||||
AOSP_KERNEL_BUILD_VERSION_TAGS: common-android14-6.1-venus
|
|
||||||
AOSP_KERNEL_BUILD_NUMBER: 20241107.001
|
|
||||||
|
|
||||||
debian/android_build:
|
|
||||||
extends:
|
|
||||||
- .android-variables
|
|
||||||
- .use-debian/x86_64_build-base
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_TAG: &debian-android_build ${DEBIAN_BUILD_TAG}
|
|
||||||
|
|
||||||
.use-debian/android_build:
|
|
||||||
extends:
|
|
||||||
- .android-variables
|
|
||||||
- .set-image-base-tag
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
|
|
||||||
variables:
|
|
||||||
MESA_BASE_TAG: *debian-x86_64_build-base
|
|
||||||
MESA_IMAGE_PATH: "debian/android_build"
|
|
||||||
MESA_IMAGE_TAG: *debian-android_build
|
|
||||||
needs:
|
|
||||||
- job: debian/android_build
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
# Debian based ARM build image
|
|
||||||
debian/arm64_build:
|
|
||||||
extends:
|
|
||||||
- .fdo.container-build@debian
|
|
||||||
- .container
|
|
||||||
- .debian-container-version
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_TAG: &debian-arm64_build "${DEBIAN_BUILD_TAG}--${DEBIAN_BASE_TAG}--${PKG_REPO_REV}"
|
|
||||||
LLVM_VERSION: &debian-arm64-llvm 19
|
|
||||||
|
|
||||||
.use-debian/arm64_build:
|
|
||||||
extends:
|
|
||||||
- .set-image
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_PATH: "debian/arm64_build"
|
|
||||||
MESA_IMAGE_TAG: *debian-arm64_build
|
|
||||||
MESA_ARTIFACTS_TAG: *debian-arm64_build
|
|
||||||
LLVM_VERSION: *debian-arm64-llvm
|
|
||||||
needs:
|
|
||||||
- job: debian/arm64_build
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
# Alpine based x86_64 build image
|
|
||||||
.alpine/x86_64_build-base:
|
|
||||||
extends:
|
|
||||||
- .fdo.container-build@alpine
|
|
||||||
- .container
|
|
||||||
variables:
|
|
||||||
FDO_DISTRIBUTION_VERSION: "3.21"
|
|
||||||
FDO_BASE_IMAGE: alpine:$FDO_DISTRIBUTION_VERSION # since cbuild ignores it
|
|
||||||
|
|
||||||
# Alpine based x86_64 build image
|
|
||||||
alpine/x86_64_build:
|
|
||||||
extends:
|
|
||||||
- .alpine/x86_64_build-base
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_TAG: &alpine-x86_64_build ${ALPINE_X86_64_BUILD_TAG}
|
|
||||||
LLVM_VERSION: &alpine-llvm_version 19
|
|
||||||
rules:
|
|
||||||
- !reference [.container, rules]
|
|
||||||
# Note: the next three lines must remain in that order, so that the rules
|
|
||||||
# in `linkcheck-docs` catch nightly pipelines before the rules in `deploy-docs`
|
|
||||||
# exclude them.
|
|
||||||
- !reference [linkcheck-docs, rules]
|
|
||||||
- !reference [deploy-docs, rules]
|
|
||||||
- !reference [test-docs, rules]
|
|
||||||
|
|
||||||
.use-alpine/x86_64_build:
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
|
|
||||||
extends:
|
|
||||||
- .set-image
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_PATH: "alpine/x86_64_build"
|
|
||||||
MESA_IMAGE_TAG: *alpine-x86_64_build
|
|
||||||
LLVM_VERSION: *alpine-llvm_version
|
|
||||||
needs:
|
|
||||||
- job: alpine/x86_64_build
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
# Alpine based x86_64 image for LAVA SSH dockerized client
|
|
||||||
alpine/x86_64_lava_ssh_client:
|
|
||||||
extends:
|
|
||||||
- .alpine/x86_64_build-base
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_TAG: &alpine-x86_64_lava_ssh_client ${ALPINE_X86_64_LAVA_SSH_TAG}
|
|
||||||
|
|
||||||
# Alpine based x86_64 image to run LAVA jobs
|
|
||||||
alpine/x86_64_lava-trigger:
|
|
||||||
extends:
|
|
||||||
- .alpine/x86_64_build-base
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_TAG: &alpine-x86_64_lava_trigger ${ALPINE_X86_64_LAVA_TRIGGER_TAG}
|
|
||||||
|
|
||||||
# Fedora based x86_64 build image
|
|
||||||
fedora/x86_64_build:
|
|
||||||
extends:
|
|
||||||
- .fdo.container-build@fedora
|
|
||||||
- .container
|
|
||||||
variables:
|
|
||||||
FDO_DISTRIBUTION_VERSION: 42
|
|
||||||
MESA_IMAGE_TAG: &fedora-x86_64_build ${FEDORA_X86_64_BUILD_TAG}
|
|
||||||
LLVM_VERSION: &fedora-x86_64-llvm 20
|
|
||||||
|
|
||||||
.use-fedora/x86_64_build:
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
|
|
||||||
extends:
|
|
||||||
- .set-image
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_PATH: "fedora/x86_64_build"
|
|
||||||
MESA_IMAGE_TAG: *fedora-x86_64_build
|
|
||||||
LLVM_VERSION: *fedora-x86_64-llvm
|
|
||||||
needs:
|
|
||||||
- job: fedora/x86_64_build
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
# Debian based x86_64 test image base
|
|
||||||
debian/x86_64_test-base:
|
|
||||||
extends:
|
|
||||||
- .debian-container
|
|
||||||
- .container-builds-base
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_TAG: &debian-x86_64_test-base "${DEBIAN_BASE_TAG}--${PKG_REPO_REV}"
|
|
||||||
LLVM_VERSION: *debian-x86_64-llvm
|
|
||||||
|
|
||||||
.use-debian/x86_64_test-base:
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
|
|
||||||
extends:
|
|
||||||
- .fdo.container-build@debian
|
|
||||||
- .debian-container-version
|
|
||||||
- .use-base-image
|
|
||||||
variables:
|
|
||||||
MESA_BASE_IMAGE: "debian/x86_64_test-base"
|
|
||||||
MESA_BASE_TAG: *debian-x86_64_test-base
|
|
||||||
LLVM_VERSION: *debian-x86_64-llvm
|
|
||||||
needs:
|
|
||||||
- job: debian/x86_64_test-base
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
# Debian based ARMv7/armhf test image base
|
|
||||||
debian/arm32_test-base:
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
|
||||||
extends:
|
|
||||||
- .debian-container
|
|
||||||
- .container-builds-base
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_TAG: &debian-arm32_test-base "${DEBIAN_BASE_TAG}--${PKG_REPO_REV}"
|
|
||||||
LLVM_VERSION: *debian-arm64-llvm
|
|
||||||
FDO_DISTRIBUTION_PLATFORM: "linux/arm/v7"
|
|
||||||
|
|
||||||
.use-debian/arm32_test-base:
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
|
||||||
extends:
|
|
||||||
- .fdo.container-build@debian
|
|
||||||
- .debian-container-version
|
|
||||||
- .use-base-image
|
|
||||||
variables:
|
|
||||||
MESA_BASE_IMAGE: "debian/arm32_test-base"
|
|
||||||
MESA_BASE_TAG: *debian-arm32_test-base
|
|
||||||
LLVM_VERSION: *debian-arm64-llvm
|
|
||||||
FDO_DISTRIBUTION_PLATFORM: "linux/arm/v7"
|
|
||||||
needs:
|
|
||||||
- job: debian/arm32_test-base
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
# Debian based aarch64 test image base
|
|
||||||
debian/arm64_test-base:
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
|
||||||
extends:
|
|
||||||
- .debian-container
|
|
||||||
- .container-builds-base
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_TAG: &debian-arm64_test-base "${DEBIAN_BASE_TAG}--${PKG_REPO_REV}"
|
|
||||||
LLVM_VERSION: *debian-arm64-llvm
|
|
||||||
|
|
||||||
.use-debian/arm64_test-base:
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
|
||||||
extends:
|
|
||||||
- .fdo.container-build@debian
|
|
||||||
- .debian-container-version
|
|
||||||
- .use-base-image
|
|
||||||
variables:
|
|
||||||
MESA_BASE_IMAGE: "debian/arm64_test-base"
|
|
||||||
MESA_BASE_TAG: *debian-arm64_test-base
|
|
||||||
LLVM_VERSION: *debian-arm64-llvm
|
|
||||||
needs:
|
|
||||||
- job: debian/arm64_test-base
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
# Debian based x86_64 test image for GL
|
|
||||||
debian/x86_64_test-gl:
|
|
||||||
extends:
|
|
||||||
- .use-debian/x86_64_test-base
|
|
||||||
- .container-builds-gl
|
|
||||||
- .export-container
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_TAG: &debian-x86_64_test-gl ${DEBIAN_TEST_GL_TAG}
|
|
||||||
|
|
||||||
.use-debian/x86_64_test-gl:
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
|
|
||||||
extends:
|
|
||||||
- .set-image-base-tag
|
|
||||||
variables:
|
|
||||||
MESA_BASE_TAG: *debian-x86_64_test-base
|
|
||||||
MESA_IMAGE_PATH: "debian/x86_64_test-gl"
|
|
||||||
MESA_IMAGE_TAG: *debian-x86_64_test-gl
|
|
||||||
needs:
|
|
||||||
- job: debian/x86_64_test-gl
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
# Debian based x86_64 test image for VK
|
|
||||||
debian/x86_64_test-vk:
|
|
||||||
extends:
|
|
||||||
- .use-debian/x86_64_test-base
|
|
||||||
- .container-builds-vk
|
|
||||||
- .export-container
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_TAG: &debian-x86_64_test-vk ${DEBIAN_TEST_VK_TAG}
|
|
||||||
|
|
||||||
.use-debian/x86_64_test-vk:
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
|
|
||||||
extends:
|
|
||||||
- .set-image-base-tag
|
|
||||||
variables:
|
|
||||||
MESA_BASE_TAG: *debian-x86_64_test-base
|
|
||||||
MESA_IMAGE_PATH: "debian/x86_64_test-vk"
|
|
||||||
MESA_IMAGE_TAG: *debian-x86_64_test-vk
|
|
||||||
needs:
|
|
||||||
- job: debian/x86_64_test-vk
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
# Debian based x86_64 test image for Android
|
|
||||||
debian/x86_64_test-android:
|
|
||||||
extends:
|
|
||||||
- .android-variables
|
|
||||||
- .use-debian/x86_64_test-base
|
|
||||||
- .container-builds-android
|
|
||||||
- .export-container
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_TAG: &debian-x86_64_test-android ${DEBIAN_TEST_ANDROID_TAG}
|
|
||||||
|
|
||||||
.use-debian/x86_64_test-android:
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64_KVM
|
|
||||||
extends:
|
|
||||||
- .android-variables
|
|
||||||
- .set-image-base-tag
|
|
||||||
variables:
|
|
||||||
MESA_BASE_TAG: *debian-x86_64_test-base
|
|
||||||
MESA_IMAGE_PATH: "debian/x86_64_test-android"
|
|
||||||
MESA_IMAGE_TAG: *debian-x86_64_test-android
|
|
||||||
needs:
|
|
||||||
- job: debian/x86_64_test-android
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
# Debian based x86_64 test image for video
|
|
||||||
debian/x86_64_test-video:
|
|
||||||
extends:
|
|
||||||
- .use-debian/x86_64_test-base
|
|
||||||
- .container-builds-video
|
|
||||||
- .export-container
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_TAG: &debian-x86_64_test-video ${DEBIAN_TEST_VIDEO_TAG}
|
|
||||||
|
|
||||||
.use-debian/x86_64_test-video:
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
|
|
||||||
extends:
|
|
||||||
- .set-image-base-tag
|
|
||||||
variables:
|
|
||||||
MESA_BASE_TAG: *debian-x86_64_test-base
|
|
||||||
MESA_IMAGE_PATH: "debian/x86_64_test-video"
|
|
||||||
MESA_IMAGE_TAG: *debian-x86_64_test-video
|
|
||||||
needs:
|
|
||||||
- job: debian/x86_64_test-video
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
# Debian based ARMv7/armhf test image for GL
|
|
||||||
debian/arm32_test-gl:
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
|
||||||
extends:
|
|
||||||
- .use-debian/arm32_test-base
|
|
||||||
- .container-builds-arm32
|
|
||||||
- .export-container
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_TAG: &debian-arm32_test-gl ${DEBIAN_TEST_GL_TAG}
|
|
||||||
|
|
||||||
.use-debian/arm32_test-gl:
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
|
||||||
extends:
|
|
||||||
- .set-image-base-tag
|
|
||||||
variables:
|
|
||||||
MESA_BASE_TAG: *debian-arm32_test-base
|
|
||||||
MESA_IMAGE_PATH: "debian/arm32_test-gl"
|
|
||||||
MESA_IMAGE_TAG: *debian-arm32_test-gl
|
|
||||||
needs:
|
|
||||||
- job: debian/arm32_test-gl
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
# Debian based ARMv7/armhf test image for VK
|
|
||||||
debian/arm32_test-vk:
|
|
||||||
rules:
|
|
||||||
- when: never # There are currently no arm32 VK jobs
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
|
||||||
extends:
|
|
||||||
- .use-debian/arm32_test-base
|
|
||||||
- .container-builds-arm32
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_TAG: &debian-arm32_test-vk ${DEBIAN_TEST_VK_TAG}
|
|
||||||
|
|
||||||
.use-debian/arm32_test-vk:
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
|
||||||
extends:
|
|
||||||
- .set-image-base-tag
|
|
||||||
variables:
|
|
||||||
MESA_BASE_TAG: *debian-arm32_test-base
|
|
||||||
MESA_IMAGE_PATH: "debian/arm32_test-vk"
|
|
||||||
MESA_IMAGE_TAG: *debian-arm32_test-vk
|
|
||||||
needs:
|
|
||||||
- job: debian/arm32_test-vk
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
# Debian based aarch64 test image for GL
|
|
||||||
debian/arm64_test-gl:
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
|
||||||
extends:
|
|
||||||
- .use-debian/arm64_test-base
|
|
||||||
- .container-builds-gl
|
|
||||||
- .export-container
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_TAG: &debian-arm64_test-gl ${DEBIAN_TEST_GL_TAG}
|
|
||||||
|
|
||||||
.use-debian/arm64_test-gl:
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
|
||||||
extends:
|
|
||||||
- .set-image-base-tag
|
|
||||||
variables:
|
|
||||||
MESA_BASE_TAG: *debian-arm64_test-base
|
|
||||||
MESA_IMAGE_PATH: "debian/arm64_test-gl"
|
|
||||||
MESA_IMAGE_TAG: *debian-arm64_test-gl
|
|
||||||
needs:
|
|
||||||
- job: debian/arm64_test-gl
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
# Debian based aarch64 test image for VK
|
|
||||||
debian/arm64_test-vk:
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
|
||||||
extends:
|
|
||||||
- .use-debian/arm64_test-base
|
|
||||||
- .container-builds-vk
|
|
||||||
- .export-container
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_TAG: &debian-arm64_test-vk ${DEBIAN_TEST_VK_TAG}
|
|
||||||
|
|
||||||
.use-debian/arm64_test-vk:
|
|
||||||
tags:
|
|
||||||
- $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
|
|
||||||
extends:
|
|
||||||
- .set-image-base-tag
|
|
||||||
variables:
|
|
||||||
MESA_BASE_TAG: *debian-arm64_test-base
|
|
||||||
MESA_IMAGE_PATH: "debian/arm64_test-vk"
|
|
||||||
MESA_IMAGE_TAG: *debian-arm64_test-vk
|
|
||||||
needs:
|
|
||||||
- job: debian/arm64_test-vk
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
# x86_64 image with ARM64 & ARM32 kernel & rootfs for baremetal testing
|
|
||||||
.debian/baremetal_arm_test:
|
|
||||||
extends:
|
|
||||||
- .fdo.container-build@debian
|
|
||||||
- .container
|
|
||||||
- .debian-container-version
|
|
||||||
variables:
|
|
||||||
FDO_DISTRIBUTION_TAG: "${MESA_IMAGE_TAG}--${KERNEL_TAG}--${MESA_TEMPLATES_COMMIT}"
|
|
||||||
MESA_ARTIFACTS_TAG: *debian-arm64_build
|
|
||||||
|
|
||||||
debian/baremetal_arm32_test-gl:
|
|
||||||
extends:
|
|
||||||
- .debian/baremetal_arm_test
|
|
||||||
needs:
|
|
||||||
- job: debian/arm32_test-gl
|
|
||||||
optional: true
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_TAG: &baremetal-arm32_test-gl "${DEBIAN_TEST_GL_TAG}--${DEBIAN_BASE_TAG}--${PKG_REPO_REV}"
|
|
||||||
LAVA_DISTRIBUTION_TAG: "debian/arm32_test-gl:${DEBIAN_TEST_GL_TAG}--${DEBIAN_BASE_TAG}--${PKG_REPO_REV}--${MESA_TEMPLATES_COMMIT}"
|
|
||||||
|
|
||||||
debian/baremetal_arm64_test-gl:
|
|
||||||
extends:
|
|
||||||
- .debian/baremetal_arm_test
|
|
||||||
needs:
|
|
||||||
- job: debian/arm64_test-gl
|
|
||||||
optional: true
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_TAG: &baremetal-arm64_test-gl "${DEBIAN_TEST_GL_TAG}--${DEBIAN_BASE_TAG}--${PKG_REPO_REV}"
|
|
||||||
LAVA_DISTRIBUTION_TAG: "debian/arm64_test-gl:${DEBIAN_TEST_GL_TAG}--${DEBIAN_BASE_TAG}--${PKG_REPO_REV}--${MESA_TEMPLATES_COMMIT}"
|
|
||||||
|
|
||||||
debian/baremetal_arm64_test-vk:
|
|
||||||
extends:
|
|
||||||
- .debian/baremetal_arm_test
|
|
||||||
needs:
|
|
||||||
- job: debian/arm64_test-vk
|
|
||||||
optional: true
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_TAG: &baremetal-arm64_test-vk "${DEBIAN_TEST_VK_TAG}--${DEBIAN_BASE_TAG}--${PKG_REPO_REV}"
|
|
||||||
LAVA_DISTRIBUTION_TAG: "debian/arm64_test-vk:${DEBIAN_TEST_VK_TAG}--${DEBIAN_BASE_TAG}--${PKG_REPO_REV}--${MESA_TEMPLATES_COMMIT}"
|
|
||||||
|
|
||||||
.use-debian/baremetal_arm32_test-gl:
|
|
||||||
image: "$CI_REGISTRY_IMAGE/${MESA_IMAGE_PATH}:${MESA_IMAGE_TAG}--${KERNEL_TAG}--${MESA_TEMPLATES_COMMIT}"
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_PATH: "debian/baremetal_arm32_test-gl"
|
|
||||||
MESA_IMAGE_TAG: *baremetal-arm32_test-gl
|
|
||||||
needs:
|
|
||||||
- job: debian/baremetal_arm32_test-gl
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
.use-debian/baremetal_arm64_test-gl:
|
|
||||||
image: "$CI_REGISTRY_IMAGE/${MESA_IMAGE_PATH}:${MESA_IMAGE_TAG}--${KERNEL_TAG}--${MESA_TEMPLATES_COMMIT}"
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_PATH: "debian/baremetal_arm64_test-gl"
|
|
||||||
MESA_IMAGE_TAG: *baremetal-arm64_test-gl
|
|
||||||
needs:
|
|
||||||
- job: debian/baremetal_arm64_test-gl
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
.use-debian/baremetal_arm64_test-vk:
|
|
||||||
image: "$CI_REGISTRY_IMAGE/${MESA_IMAGE_PATH}:${MESA_IMAGE_TAG}--${KERNEL_TAG}--${MESA_TEMPLATES_COMMIT}"
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_PATH: "debian/baremetal_arm64_test-vk"
|
|
||||||
MESA_IMAGE_TAG: *baremetal-arm64_test-vk
|
|
||||||
needs:
|
|
||||||
- job: debian/baremetal_arm64_test-vk
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
# Native Windows docker builds
|
|
||||||
#
|
|
||||||
# Unlike the above Linux-based builds - including MinGW builds which
|
|
||||||
# cross-compile for Windows - which use the freedesktop ci-templates, we
|
|
||||||
# cannot use the same scheme here. As Windows lacks support for
|
|
||||||
# Docker-in-Docker, and Podman does not run natively on Windows, we have
|
|
||||||
# to open-code much of the same ourselves.
|
|
||||||
#
|
|
||||||
# This is achieved by first running in a native Windows shell instance
|
|
||||||
# (host PowerShell) in the container stage to build and push the image,
|
|
||||||
# then in the build stage by executing inside Docker.
|
|
||||||
|
|
||||||
.windows-docker-msvc:
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE: "$CI_REGISTRY_IMAGE/${MESA_IMAGE_PATH}:${MESA_IMAGE_TAG}"
|
|
||||||
MESA_UPSTREAM_IMAGE: "$CI_REGISTRY/$FDO_UPSTREAM_REPO/$MESA_IMAGE_PATH:${MESA_IMAGE_TAG}"
|
|
||||||
extends:
|
|
||||||
- .windows-docker-tags
|
|
||||||
|
|
||||||
.windows_container_build:
|
|
||||||
inherit:
|
|
||||||
default: [retry]
|
|
||||||
extends:
|
|
||||||
- .container
|
|
||||||
- .windows-docker-msvc
|
|
||||||
- .windows-shell-tags
|
|
||||||
rules:
|
|
||||||
- !reference [.common-rules, rules]
|
|
||||||
- !reference [.microsoft-farm-container-rules, rules]
|
|
||||||
- !reference [.container-rules, rules]
|
|
||||||
variables:
|
|
||||||
GIT_STRATEGY: fetch # we do actually need the full repository though
|
|
||||||
MESA_BASE_IMAGE: None
|
|
||||||
before_script: null # remove .container before_script as it's unix-only
|
|
||||||
script:
|
|
||||||
- .\.gitlab-ci\windows\mesa_container.ps1 $CI_REGISTRY $CI_REGISTRY_USER $CI_REGISTRY_PASSWORD $MESA_IMAGE $MESA_UPSTREAM_IMAGE ${DOCKERFILE} ${MESA_BASE_IMAGE}
|
|
||||||
|
|
||||||
windows_msvc:
|
|
||||||
inherit:
|
|
||||||
default: [retry]
|
|
||||||
extends:
|
|
||||||
- .windows_container_build
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_PATH: &windows_msvc_image_path "windows/x86_64_msvc"
|
|
||||||
MESA_IMAGE_TAG: ${WINDOWS_X64_MSVC_TAG}
|
|
||||||
DOCKERFILE: Dockerfile_msvc
|
|
||||||
MESA_BASE_IMAGE: "mcr.microsoft.com/windows/server:ltsc2022"
|
|
||||||
|
|
||||||
windows_build_msvc:
|
|
||||||
inherit:
|
|
||||||
default: [retry]
|
|
||||||
extends:
|
|
||||||
- .windows_container_build
|
|
||||||
rules:
|
|
||||||
- !reference [.common-rules, rules]
|
|
||||||
- !reference [.microsoft-farm-rules, rules]
|
|
||||||
- !reference [.container-rules, rules]
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_PATH: &windows_build_image_path "windows/x86_64_build"
|
|
||||||
MESA_IMAGE_TAG: &windows_build_image_tag ${WINDOWS_X64_MSVC_TAG}--${WINDOWS_X64_BUILD_TAG}
|
|
||||||
DOCKERFILE: Dockerfile_build
|
|
||||||
MESA_BASE_IMAGE_PATH: *windows_msvc_image_path
|
|
||||||
MESA_BASE_IMAGE: "$CI_REGISTRY_IMAGE/${MESA_BASE_IMAGE_PATH}:${WINDOWS_X64_MSVC_TAG}"
|
|
||||||
timeout: 2h 30m # LLVM takes ages
|
|
||||||
needs:
|
|
||||||
- job: windows_msvc
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
windows_test_msvc:
|
|
||||||
inherit:
|
|
||||||
default: [retry]
|
|
||||||
extends:
|
|
||||||
- .windows_container_build
|
|
||||||
rules:
|
|
||||||
- !reference [.common-rules, rules]
|
|
||||||
- !reference [.microsoft-farm-rules, rules]
|
|
||||||
- !reference [.container-rules, rules]
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_PATH: &windows_test_image_path "windows/x86_64_test"
|
|
||||||
MESA_IMAGE_TAG: &windows_test_image_tag ${WINDOWS_X64_MSVC_TAG}--${WINDOWS_X64_TEST_TAG}
|
|
||||||
DOCKERFILE: Dockerfile_test
|
|
||||||
MESA_BASE_IMAGE_PATH: *windows_msvc_image_path
|
|
||||||
MESA_BASE_IMAGE: "$CI_REGISTRY_IMAGE/${MESA_BASE_IMAGE_PATH}:${WINDOWS_X64_MSVC_TAG}"
|
|
||||||
timeout: 2h 30m
|
|
||||||
needs:
|
|
||||||
- job: windows_msvc
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
.use-windows_build_msvc:
|
|
||||||
inherit:
|
|
||||||
default: [retry]
|
|
||||||
extends: .windows-docker-msvc
|
|
||||||
image: "$MESA_IMAGE"
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_PATH: *windows_build_image_path
|
|
||||||
MESA_IMAGE_TAG: *windows_build_image_tag
|
|
||||||
needs:
|
|
||||||
- job: windows_build_msvc
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
.use-windows_test_msvc:
|
|
||||||
inherit:
|
|
||||||
default: [retry]
|
|
||||||
extends: .windows-docker-msvc
|
|
||||||
image: "$MESA_IMAGE"
|
|
||||||
variables:
|
|
||||||
MESA_IMAGE_PATH: *windows_test_image_path
|
|
||||||
MESA_IMAGE_TAG: *windows_test_image_tag
|
|
||||||
|
|
|
||||||
109
.gitlab-ci/container/windows/gitlab-ci.yml
Normal file
109
.gitlab-ci/container/windows/gitlab-ci.yml
Normal file
|
|
@ -0,0 +1,109 @@
|
||||||
|
# Native Windows docker builds
|
||||||
|
#
|
||||||
|
# Unlike the above Linux-based builds - including MinGW builds which
|
||||||
|
# cross-compile for Windows - which use the freedesktop ci-templates, we
|
||||||
|
# cannot use the same scheme here. As Windows lacks support for
|
||||||
|
# Docker-in-Docker, and Podman does not run natively on Windows, we have
|
||||||
|
# to open-code much of the same ourselves.
|
||||||
|
#
|
||||||
|
# This is achieved by first running in a native Windows shell instance
|
||||||
|
# (host PowerShell) in the container stage to build and push the image,
|
||||||
|
# then in the build stage by executing inside Docker.
|
||||||
|
|
||||||
|
.windows-docker-msvc:
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE: "$CI_REGISTRY_IMAGE/${MESA_IMAGE_PATH}:${MESA_IMAGE_TAG}"
|
||||||
|
MESA_UPSTREAM_IMAGE: "$CI_REGISTRY/$FDO_UPSTREAM_REPO/$MESA_IMAGE_PATH:${MESA_IMAGE_TAG}"
|
||||||
|
extends:
|
||||||
|
- .windows-docker-tags
|
||||||
|
|
||||||
|
.windows_container_build:
|
||||||
|
inherit:
|
||||||
|
default: [retry]
|
||||||
|
extends:
|
||||||
|
- .container
|
||||||
|
- .windows-docker-msvc
|
||||||
|
- .windows-shell-tags
|
||||||
|
rules:
|
||||||
|
- !reference [.common-rules, rules]
|
||||||
|
- !reference [.microsoft-farm-container-rules, rules]
|
||||||
|
- !reference [.container-rules, rules]
|
||||||
|
variables:
|
||||||
|
GIT_STRATEGY: fetch # we do actually need the full repository though
|
||||||
|
MESA_BASE_IMAGE: None
|
||||||
|
before_script: null # remove .container before_script as it's unix-only
|
||||||
|
script:
|
||||||
|
- .\.gitlab-ci\windows\mesa_container.ps1 $CI_REGISTRY $CI_REGISTRY_USER $CI_REGISTRY_PASSWORD $MESA_IMAGE $MESA_UPSTREAM_IMAGE ${DOCKERFILE} ${MESA_BASE_IMAGE}
|
||||||
|
|
||||||
|
windows_msvc:
|
||||||
|
inherit:
|
||||||
|
default: [retry]
|
||||||
|
extends:
|
||||||
|
- .windows_container_build
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_PATH: &windows_msvc_image_path "windows/x86_64_msvc"
|
||||||
|
MESA_IMAGE_TAG: ${WINDOWS_X64_MSVC_TAG}
|
||||||
|
DOCKERFILE: Dockerfile_msvc
|
||||||
|
MESA_BASE_IMAGE: "mcr.microsoft.com/windows/server:ltsc2022"
|
||||||
|
|
||||||
|
windows_build_msvc:
|
||||||
|
inherit:
|
||||||
|
default: [retry]
|
||||||
|
extends:
|
||||||
|
- .windows_container_build
|
||||||
|
rules:
|
||||||
|
- !reference [.common-rules, rules]
|
||||||
|
- !reference [.microsoft-farm-rules, rules]
|
||||||
|
- !reference [.container-rules, rules]
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_PATH: &windows_build_image_path "windows/x86_64_build"
|
||||||
|
MESA_IMAGE_TAG: &windows_build_image_tag ${WINDOWS_X64_MSVC_TAG}--${WINDOWS_X64_BUILD_TAG}
|
||||||
|
DOCKERFILE: Dockerfile_build
|
||||||
|
MESA_BASE_IMAGE_PATH: *windows_msvc_image_path
|
||||||
|
MESA_BASE_IMAGE: "$CI_REGISTRY_IMAGE/${MESA_BASE_IMAGE_PATH}:${WINDOWS_X64_MSVC_TAG}"
|
||||||
|
timeout: 2h 30m # LLVM takes ages
|
||||||
|
needs:
|
||||||
|
- job: windows_msvc
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
windows_test_msvc:
|
||||||
|
inherit:
|
||||||
|
default: [retry]
|
||||||
|
extends:
|
||||||
|
- .windows_container_build
|
||||||
|
rules:
|
||||||
|
- !reference [.common-rules, rules]
|
||||||
|
- !reference [.microsoft-farm-rules, rules]
|
||||||
|
- !reference [.container-rules, rules]
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_PATH: &windows_test_image_path "windows/x86_64_test"
|
||||||
|
MESA_IMAGE_TAG: &windows_test_image_tag ${WINDOWS_X64_MSVC_TAG}--${WINDOWS_X64_TEST_TAG}
|
||||||
|
DOCKERFILE: Dockerfile_test
|
||||||
|
MESA_BASE_IMAGE_PATH: *windows_msvc_image_path
|
||||||
|
MESA_BASE_IMAGE: "$CI_REGISTRY_IMAGE/${MESA_BASE_IMAGE_PATH}:${WINDOWS_X64_MSVC_TAG}"
|
||||||
|
timeout: 2h 30m
|
||||||
|
needs:
|
||||||
|
- job: windows_msvc
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
.use-windows_build_msvc:
|
||||||
|
inherit:
|
||||||
|
default: [retry]
|
||||||
|
extends: .windows-docker-msvc
|
||||||
|
image: "$MESA_IMAGE"
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_PATH: *windows_build_image_path
|
||||||
|
MESA_IMAGE_TAG: *windows_build_image_tag
|
||||||
|
needs:
|
||||||
|
- job: windows_build_msvc
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
.use-windows_test_msvc:
|
||||||
|
inherit:
|
||||||
|
default: [retry]
|
||||||
|
extends: .windows-docker-msvc
|
||||||
|
image: "$MESA_IMAGE"
|
||||||
|
variables:
|
||||||
|
MESA_IMAGE_PATH: *windows_test_image_path
|
||||||
|
MESA_IMAGE_TAG: *windows_test_image_tag
|
||||||
|
|
||||||
Loading…
Add table
Reference in a new issue