ci: do not start build-only jobs until the critical build-for-tests jobs are done

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30808>
This commit is contained in:
Eric Engestrom 2024-08-23 11:14:40 +02:00 committed by Marge Bot
parent 27fba5ccdf
commit 310e3bb026

View file

@ -11,6 +11,8 @@
# A few exception are made, see `timeout:` overrides in the rest of this
# file.
timeout: 30m
# We don't want to download any previous job's artifacts
dependencies: []
artifacts:
name: "mesa_${CI_JOB_NAME}"
when: always
@ -60,6 +62,19 @@
script:
- .gitlab-ci/meson/build.sh
# Make sure this list stays the same as all the jobs with
# `stage: build-for-tests`
.build-for-tests-jobs:
- debian-testing
- debian-testing-asan
- debian-arm32
- debian-arm32-asan
- debian-arm64
- debian-arm64-asan
- windows-msvc
debian-testing:
extends:
- .meson-build
@ -128,6 +143,7 @@ debian-testing-msan:
# msan cannot fully work until it's used together with msan libc
extends:
- debian-clang
# `needs:` inherited from debian-clang
variables:
# l_undef is incompatible with msan
EXTRA_OPTION:
@ -160,6 +176,9 @@ debian-testing-msan:
# Should be re-enabled once this problem has been fixed.
.debian-build-testing:
extends: .meson-build
needs:
- !reference [.meson-build, needs]
- !reference [.build-for-tests-jobs]
variables:
BUILDTYPE: debug
UNWIND: "enabled"
@ -221,6 +240,9 @@ debian-testing-msan:
# Test a release build with -Werror so new warnings don't sneak in.
debian-release:
extends: .meson-build
needs:
- !reference [.meson-build, needs]
- !reference [.build-for-tests-jobs]
variables:
LLVM_VERSION: 15
UNWIND: "enabled"
@ -261,6 +283,9 @@ alpine-build-testing:
extends:
- .meson-build
- .use-alpine/x86_64_build
needs:
- !reference [.use-alpine/x86_64_build, needs]
- !reference [.build-for-tests-jobs]
variables:
BUILDTYPE: "release"
C_ARGS: >
@ -296,6 +321,9 @@ fedora-release:
extends:
- .meson-build
- .use-fedora/x86_64_build
needs:
- !reference [.use-fedora/x86_64_build, needs]
- !reference [.build-for-tests-jobs]
variables:
BUILDTYPE: "release"
C_LINK_ARGS: >
@ -346,6 +374,9 @@ debian-android:
- .meson-cross
- .use-debian/android_build
- .ci-deqp-artifacts
needs:
- !reference [.use-debian/android_build, needs]
- !reference [.build-for-tests-jobs]
variables:
BUILDTYPE: debug
UNWIND: "disabled"
@ -521,6 +552,9 @@ debian-arm64-build-test:
extends:
- .meson-arm
- .ci-deqp-artifacts
needs:
- !reference [.meson-arm, needs]
- !reference [.build-for-tests-jobs]
variables:
VULKAN_DRIVERS: "amd,nouveau"
DRI_LOADERS:
@ -532,6 +566,9 @@ debian-arm64-release:
extends:
- debian-arm64
stage: build-only
needs:
- !reference [debian-arm64, needs]
- !reference [.build-for-tests-jobs]
variables:
BUILDTYPE: release
S3_ARTIFACT_NAME: mesa-arm64-default-${BUILDTYPE}
@ -545,6 +582,9 @@ debian-arm64-release:
debian-clang:
extends: .meson-build
needs:
- !reference [.meson-build, needs]
- !reference [.build-for-tests-jobs]
variables:
BUILDTYPE: debug
LLVM_VERSION: 15
@ -599,6 +639,7 @@ debian-clang:
debian-clang-release:
extends: debian-clang
# `needs:` inherited from debian-clang
variables:
BUILDTYPE: "release"
DRI_LOADERS: >
@ -635,6 +676,9 @@ windows-msvc:
debian-vulkan:
extends: .meson-build
needs:
- !reference [.meson-build, needs]
- !reference [.build-for-tests-jobs]
variables:
BUILDTYPE: debug
LLVM_VERSION: 15
@ -672,6 +716,9 @@ debian-x86_32:
extends:
- .meson-cross
- .use-debian/x86_32_build
needs:
- !reference [.use-debian/x86_32_build, needs]
- !reference [.build-for-tests-jobs]
variables:
BUILDTYPE: debug
CROSS: i386
@ -702,6 +749,9 @@ debian-s390x:
extends:
- .meson-cross
- .use-debian/s390x_build
needs:
- !reference [.use-debian/s390x_build, needs]
- !reference [.build-for-tests-jobs]
tags:
- kvm
variables:
@ -717,6 +767,9 @@ debian-ppc64el:
extends:
- .meson-cross
- .use-debian/ppc64el_build
needs:
- !reference [.use-debian/ppc64el_build, needs]
- !reference [.build-for-tests-jobs]
variables:
BUILDTYPE: debug
CROSS: ppc64el