From 310e3bb0266bb2ab18783a67948d5fa98ce5022e Mon Sep 17 00:00:00 2001 From: Eric Engestrom Date: Fri, 23 Aug 2024 11:14:40 +0200 Subject: [PATCH] ci: do not start build-only jobs until the critical build-for-tests jobs are done Part-of: --- .gitlab-ci/build/gitlab-ci.yml | 53 ++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/.gitlab-ci/build/gitlab-ci.yml b/.gitlab-ci/build/gitlab-ci.yml index 8c375a5583a..8a0e2c29703 100644 --- a/.gitlab-ci/build/gitlab-ci.yml +++ b/.gitlab-ci/build/gitlab-ci.yml @@ -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