ci: add FDO_RUNNER_JOB_PRIORITY_TAG_* to control priority of generic freedesktop runners
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

This affects:
- generic jobs (sanity, rustfmt, shader-db, docs, etc.)
- linux image builds
- linux mesa builds
- software renderer tests
- android tests
- virgl & venus tests

Marge pipelines get high priority, nightly pipelines get low priority,
and everything else is in between.

(Hardware test farms have their own mechanisms.)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34264>
This commit is contained in:
Eric Engestrom 2023-11-30 16:53:23 +00:00
parent 88f70e48f5
commit 359f69ba0c
11 changed files with 71 additions and 22 deletions

View file

@ -38,6 +38,9 @@ workflow:
- if: &is-merge-attempt $GITLAB_USER_LOGIN == "marge-bot" && $CI_PIPELINE_SOURCE == "merge_request_event" - if: &is-merge-attempt $GITLAB_USER_LOGIN == "marge-bot" && $CI_PIPELINE_SOURCE == "merge_request_event"
variables: variables:
MESA_CI_PERFORMANCE_ENABLED: 1 MESA_CI_PERFORMANCE_ENABLED: 1
FDO_RUNNER_JOB_PRIORITY_TAG_X86_64: priority:high
FDO_RUNNER_JOB_PRIORITY_TAG_X86_64_KVM: priority:high-kvm
FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64: priority:high-aarch64
VALVE_INFRA_VANGOGH_JOB_PRIORITY: "" # Empty tags are ignored by gitlab VALVE_INFRA_VANGOGH_JOB_PRIORITY: "" # Empty tags are ignored by gitlab
JOB_PRIORITY: 75 JOB_PRIORITY: 75
# fast-fail in merge pipelines: stop early if we get this many unexpected fails/crashes # fast-fail in merge pipelines: stop early if we get this many unexpected fails/crashes
@ -51,6 +54,9 @@ workflow:
# nightly pipeline # nightly pipeline
- if: &is-scheduled-pipeline $CI_PIPELINE_SOURCE == "schedule" - if: &is-scheduled-pipeline $CI_PIPELINE_SOURCE == "schedule"
variables: variables:
FDO_RUNNER_JOB_PRIORITY_TAG_X86_64: priority:low
FDO_RUNNER_JOB_PRIORITY_TAG_X86_64_KVM: priority:low-kvm
FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64: priority:low-aarch64
JOB_PRIORITY: 45 JOB_PRIORITY: 45
# (some) nightly builds perform LTO, so they take much longer than the # (some) nightly builds perform LTO, so they take much longer than the
# short timeout allowed in other pipelines. # short timeout allowed in other pipelines.
@ -110,6 +116,9 @@ variables:
# Avoid the wall of "Unsupported SPIR-V capability" warnings in CI job log, hiding away useful output # Avoid the wall of "Unsupported SPIR-V capability" warnings in CI job log, hiding away useful output
MESA_SPIRV_LOG_LEVEL: error MESA_SPIRV_LOG_LEVEL: error
# Default priority for non-merge pipelines # Default priority for non-merge pipelines
FDO_RUNNER_JOB_PRIORITY_TAG_X86_64: "" # Empty tags are ignored by gitlab
FDO_RUNNER_JOB_PRIORITY_TAG_X86_64_KVM: kvm
FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64: aarch64
VALVE_INFRA_VANGOGH_JOB_PRIORITY: priority:low VALVE_INFRA_VANGOGH_JOB_PRIORITY: priority:low
JOB_PRIORITY: 50 JOB_PRIORITY: 50
DATA_STORAGE_PATH: data_storage DATA_STORAGE_PATH: data_storage
@ -348,6 +357,8 @@ sanity:
extends: extends:
- .fdo.ci-fairy - .fdo.ci-fairy
stage: sanity stage: sanity
tags:
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
rules: rules:
- if: *is-pre-merge - if: *is-pre-merge
when: on_success when: on_success
@ -394,6 +405,8 @@ mr-label-maker-test:
extends: extends:
- .fdo.ci-fairy - .fdo.ci-fairy
stage: sanity stage: sanity
tags:
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
rules: rules:
- !reference [.mr-label-maker-rules, rules] - !reference [.mr-label-maker-rules, rules]
variables: variables:

View file

@ -799,7 +799,7 @@ debian-s390x:
- .use-debian/s390x_build - .use-debian/s390x_build
- .meson-build-only - .meson-build-only
tags: tags:
- kvm - $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64_KVM
variables: variables:
BUILDTYPE: debug BUILDTYPE: debug
CROSS: s390x CROSS: s390x

View file

@ -55,6 +55,8 @@
extends: extends:
- .container+build-rules - .container+build-rules
- .incorporate-templates-commit - .incorporate-templates-commit
tags:
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
variables: variables:
FDO_REPO_SUFFIX: $CI_JOB_NAME FDO_REPO_SUFFIX: $CI_JOB_NAME
FDO_DISTRIBUTION_EXEC: 'bash .gitlab-ci/container/container_job_trampoline.sh "${CI_JOB_NAME}"' FDO_DISTRIBUTION_EXEC: 'bash .gitlab-ci/container/container_job_trampoline.sh "${CI_JOB_NAME}"'
@ -101,6 +103,8 @@ debian/x86_64_build-base:
LLVM_VERSION: &debian-x86_64-llvm 19 LLVM_VERSION: &debian-x86_64-llvm 19
.use-debian/x86_64_build-base: .use-debian/x86_64_build-base:
tags:
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
extends: extends:
- .fdo.container-build@debian - .fdo.container-build@debian
- .debian-container-version - .debian-container-version
@ -122,6 +126,8 @@ debian/x86_64_build:
LLVM_VERSION: *debian-x86_64-llvm LLVM_VERSION: *debian-x86_64-llvm
.use-debian/x86_64_build: .use-debian/x86_64_build:
tags:
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
extends: extends:
- .set-image-base-tag - .set-image-base-tag
variables: variables:
@ -140,6 +146,8 @@ debian/x86_32_build:
MESA_IMAGE_TAG: &debian-x86_32_build ${DEBIAN_BUILD_TAG} MESA_IMAGE_TAG: &debian-x86_32_build ${DEBIAN_BUILD_TAG}
.use-debian/x86_32_build: .use-debian/x86_32_build:
tags:
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
extends: extends:
- .set-image-base-tag - .set-image-base-tag
variables: variables:
@ -159,6 +167,8 @@ debian/ppc64el_build:
LLVM_VERSION: &debian-ppc64el-llvm 15 # no LLVM packages for PPC LLVM_VERSION: &debian-ppc64el-llvm 15 # no LLVM packages for PPC
.use-debian/ppc64el_build: .use-debian/ppc64el_build:
tags:
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
extends: extends:
- .set-image-base-tag - .set-image-base-tag
variables: variables:
@ -178,6 +188,8 @@ debian/s390x_build:
LLVM_VERSION: &debian-s390x-llvm 19 LLVM_VERSION: &debian-s390x-llvm 19
.use-debian/s390x_build: .use-debian/s390x_build:
tags:
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
extends: extends:
- .set-image-base-tag - .set-image-base-tag
variables: variables:
@ -217,6 +229,8 @@ debian/android_build:
extends: extends:
- .android-variables - .android-variables
- .set-image-base-tag - .set-image-base-tag
tags:
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
variables: variables:
MESA_BASE_TAG: *debian-x86_64_build-base MESA_BASE_TAG: *debian-x86_64_build-base
MESA_IMAGE_PATH: "debian/android_build" MESA_IMAGE_PATH: "debian/android_build"
@ -231,7 +245,7 @@ debian/arm64_build:
- .container - .container
- .debian-container-version - .debian-container-version
tags: tags:
- aarch64 - $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
variables: variables:
MESA_IMAGE_TAG: &debian-arm64_build "${DEBIAN_BASE_TAG}--${PKG_REPO_REV}" MESA_IMAGE_TAG: &debian-arm64_build "${DEBIAN_BASE_TAG}--${PKG_REPO_REV}"
LLVM_VERSION: &debian-arm64-llvm 19 LLVM_VERSION: &debian-arm64-llvm 19
@ -240,7 +254,7 @@ debian/arm64_build:
extends: extends:
- .set-image - .set-image
tags: tags:
- aarch64 - $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
variables: variables:
MESA_IMAGE_PATH: "debian/arm64_build" MESA_IMAGE_PATH: "debian/arm64_build"
MESA_IMAGE_TAG: *debian-arm64_build MESA_IMAGE_TAG: *debian-arm64_build
@ -275,6 +289,8 @@ alpine/x86_64_build:
- !reference [.container, rules] - !reference [.container, rules]
.use-alpine/x86_64_build: .use-alpine/x86_64_build:
tags:
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
extends: extends:
- .set-image - .set-image
variables: variables:
@ -302,6 +318,8 @@ fedora/x86_64_build:
LLVM_VERSION: &fedora-x86_64-llvm 19 LLVM_VERSION: &fedora-x86_64-llvm 19
.use-fedora/x86_64_build: .use-fedora/x86_64_build:
tags:
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
extends: extends:
- .set-image - .set-image
variables: variables:
@ -320,6 +338,8 @@ debian/x86_64_test-base:
LLVM_VERSION: *debian-x86_64-llvm LLVM_VERSION: *debian-x86_64-llvm
.use-debian/x86_64_test-base: .use-debian/x86_64_test-base:
tags:
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
extends: extends:
- .fdo.container-build@debian - .fdo.container-build@debian
- .debian-container-version - .debian-container-version
@ -334,7 +354,7 @@ debian/x86_64_test-base:
# Debian based ARMv7/armhf test image base # Debian based ARMv7/armhf test image base
debian/arm32_test-base: debian/arm32_test-base:
tags: tags:
- aarch64 - $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
extends: extends:
- .debian-container - .debian-container
- .firmware_arm32 - .firmware_arm32
@ -345,7 +365,7 @@ debian/arm32_test-base:
.use-debian/arm32_test-base: .use-debian/arm32_test-base:
tags: tags:
- aarch64 - $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
extends: extends:
- .fdo.container-build@debian - .fdo.container-build@debian
- .debian-container-version - .debian-container-version
@ -361,7 +381,7 @@ debian/arm32_test-base:
# Debian based aarch64 test image base # Debian based aarch64 test image base
debian/arm64_test-base: debian/arm64_test-base:
tags: tags:
- aarch64 - $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
extends: extends:
- .debian-container - .debian-container
variables: variables:
@ -370,7 +390,7 @@ debian/arm64_test-base:
.use-debian/arm64_test-base: .use-debian/arm64_test-base:
tags: tags:
- aarch64 - $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
extends: extends:
- .fdo.container-build@debian - .fdo.container-build@debian
- .debian-container-version - .debian-container-version
@ -389,6 +409,8 @@ debian/x86_64_test-gl:
MESA_IMAGE_TAG: &debian-x86_64_test-gl ${DEBIAN_TEST_GL_TAG} MESA_IMAGE_TAG: &debian-x86_64_test-gl ${DEBIAN_TEST_GL_TAG}
.use-debian/x86_64_test-gl: .use-debian/x86_64_test-gl:
tags:
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
extends: extends:
- .set-image-base-tag - .set-image-base-tag
variables: variables:
@ -405,6 +427,8 @@ debian/x86_64_test-vk:
MESA_IMAGE_TAG: &debian-x86_64_test-vk ${DEBIAN_TEST_VK_TAG} MESA_IMAGE_TAG: &debian-x86_64_test-vk ${DEBIAN_TEST_VK_TAG}
.use-debian/x86_64_test-vk: .use-debian/x86_64_test-vk:
tags:
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
extends: extends:
- .set-image-base-tag - .set-image-base-tag
variables: variables:
@ -424,7 +448,7 @@ debian/x86_64_test-android:
.use-debian/x86_64_test-android: .use-debian/x86_64_test-android:
tags: tags:
- kvm - $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64_KVM
extends: extends:
- .android-variables - .android-variables
- .set-image-base-tag - .set-image-base-tag
@ -443,6 +467,8 @@ debian/x86_64_pyutils:
MESA_IMAGE_TAG: &debian-x86_64_pyutils "${DEBIAN_PYUTILS_TAG}" MESA_IMAGE_TAG: &debian-x86_64_pyutils "${DEBIAN_PYUTILS_TAG}"
.use-debian/x86_64_pyutils: .use-debian/x86_64_pyutils:
tags:
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
extends: extends:
- .fdo.container-build@debian - .fdo.container-build@debian
- .debian-container-version - .debian-container-version
@ -456,14 +482,14 @@ debian/x86_64_pyutils:
# Debian based ARMv7/armhf test image for GL # Debian based ARMv7/armhf test image for GL
debian/arm32_test-gl: debian/arm32_test-gl:
tags: tags:
- aarch64 - $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
extends: .use-debian/arm32_test-base extends: .use-debian/arm32_test-base
variables: variables:
MESA_IMAGE_TAG: &debian-arm32_test-gl ${DEBIAN_TEST_GL_TAG} MESA_IMAGE_TAG: &debian-arm32_test-gl ${DEBIAN_TEST_GL_TAG}
.use-debian/arm32_test-gl: .use-debian/arm32_test-gl:
tags: tags:
- aarch64 - $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
extends: extends:
- .set-image-base-tag - .set-image-base-tag
variables: variables:
@ -476,14 +502,14 @@ debian/arm32_test-gl:
# Debian based ARMv7/armhf test image for VK # Debian based ARMv7/armhf test image for VK
debian/arm32_test-vk: debian/arm32_test-vk:
tags: tags:
- aarch64 - $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
extends: .use-debian/arm32_test-base extends: .use-debian/arm32_test-base
variables: variables:
MESA_IMAGE_TAG: &debian-arm32_test-vk ${DEBIAN_TEST_VK_TAG} MESA_IMAGE_TAG: &debian-arm32_test-vk ${DEBIAN_TEST_VK_TAG}
.use-debian/arm32_test-vk: .use-debian/arm32_test-vk:
tags: tags:
- aarch64 - $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
extends: extends:
- .set-image-base-tag - .set-image-base-tag
variables: variables:
@ -496,7 +522,7 @@ debian/arm32_test-vk:
# Debian based aarch64 test image for GL # Debian based aarch64 test image for GL
debian/arm64_test-gl: debian/arm64_test-gl:
tags: tags:
- aarch64 - $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
extends: extends:
- .use-debian/arm64_test-base - .use-debian/arm64_test-base
- .container-builds-arm64 - .container-builds-arm64
@ -505,7 +531,7 @@ debian/arm64_test-gl:
.use-debian/arm64_test-gl: .use-debian/arm64_test-gl:
tags: tags:
- aarch64 - $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
extends: extends:
- .set-image-base-tag - .set-image-base-tag
variables: variables:
@ -518,14 +544,14 @@ debian/arm64_test-gl:
# Debian based aarch64 test image for VK # Debian based aarch64 test image for VK
debian/arm64_test-vk: debian/arm64_test-vk:
tags: tags:
- aarch64 - $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
extends: .use-debian/arm64_test-base extends: .use-debian/arm64_test-base
variables: variables:
MESA_IMAGE_TAG: &debian-arm64_test-vk ${DEBIAN_TEST_VK_TAG} MESA_IMAGE_TAG: &debian-arm64_test-vk ${DEBIAN_TEST_VK_TAG}
.use-debian/arm64_test-vk: .use-debian/arm64_test-vk:
tags: tags:
- aarch64 - $FDO_RUNNER_JOB_PRIORITY_TAG_AARCH64
extends: extends:
- .set-image-base-tag - .set-image-base-tag
variables: variables:

View file

@ -74,7 +74,8 @@ shader-db:
- shader-db - shader-db
timeout: 15m timeout: 15m
tags: tags:
- kvm # FIXME: this is a hack, should not be needed # FIXME: kvm is a hack, should not be needed
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64_KVM
yaml-toml-shell-py-test: yaml-toml-shell-py-test:
extends: extends:

View file

@ -71,6 +71,8 @@
.llvmpipe-test: .llvmpipe-test:
extends: extends:
- .llvmpipe-rules - .llvmpipe-rules
tags:
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
variables: variables:
LIBGL_ALWAYS_SOFTWARE: "true" LIBGL_ALWAYS_SOFTWARE: "true"
GALLIUM_DRIVER: "llvmpipe" GALLIUM_DRIVER: "llvmpipe"

View file

@ -11,6 +11,8 @@
when: on_success when: on_success
.softpipe-test: .softpipe-test:
tags:
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
variables: variables:
GPU_VERSION: softpipe GPU_VERSION: softpipe
LIBGL_ALWAYS_SOFTWARE: "true" LIBGL_ALWAYS_SOFTWARE: "true"

View file

@ -18,7 +18,7 @@ virgl-on-gl:
LP_NUM_THREADS: 1 # There will be FDO_CI_CONCURRENT Crosvm processes, so each should use a single thread LP_NUM_THREADS: 1 # There will be FDO_CI_CONCURRENT Crosvm processes, so each should use a single thread
parallel: 3 parallel: 3
tags: tags:
- kvm - $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64_KVM
extends: extends:
- .deqp-test - .deqp-test
- .virgl-test - .virgl-test
@ -43,7 +43,7 @@ virgl-traces:
PIGLIT_RESULTS: "virgl-replay" PIGLIT_RESULTS: "virgl-replay"
LD_LIBRARY_PATH: "${CI_PROJECT_DIR}/install/lib/" # For Crosvm LD_LIBRARY_PATH: "${CI_PROJECT_DIR}/install/lib/" # For Crosvm
tags: tags:
- kvm - $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64_KVM
script: script:
- . "$SCRIPTS_DIR"/setup-test-env.sh - . "$SCRIPTS_DIR"/setup-test-env.sh
# Use all threads for rendering and only run one job at a time # Use all threads for rendering and only run one job at a time

View file

@ -154,6 +154,8 @@
extends: extends:
- .zink-lvp-rules - .zink-lvp-rules
- .zink-test - .zink-test
tags:
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
variables: variables:
LIBGL_ALWAYS_SOFTWARE: "true" LIBGL_ALWAYS_SOFTWARE: "true"
LVP_POISON_MEMORY: "1" LVP_POISON_MEMORY: "1"
@ -177,7 +179,7 @@
CROSVM_VK_DRIVER: "lvp" CROSVM_VK_DRIVER: "lvp"
CROSVM_GPU_ARGS: "vulkan=true,gles=false,backend=virglrenderer,egl=true,surfaceless=true,fixed-blob-mapping=false" CROSVM_GPU_ARGS: "vulkan=true,gles=false,backend=virglrenderer,egl=true,surfaceless=true,fixed-blob-mapping=false"
tags: tags:
- kvm - $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64_KVM
.zink-anv-adl-test: .zink-anv-adl-test:
extends: extends:

View file

@ -7,7 +7,8 @@ zink-lvp:
- .deqp-test - .deqp-test
- .zink-lvp-test - .zink-lvp-test
tags: tags:
- kvm # FIXME: this is a hack, should not be needed # FIXME: kvm is a hack, should not be needed
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64_KVM
variables: variables:
DEQP_SUITE: zink-lvp DEQP_SUITE: zink-lvp
DEQP_FRACTION: 8 DEQP_FRACTION: 8

View file

@ -39,6 +39,8 @@
extends: extends:
- .test-vk - .test-vk
- .lavapipe-rules - .lavapipe-rules
tags:
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
variables: variables:
VK_DRIVER: lvp VK_DRIVER: lvp
LVP_POISON_MEMORY: "1" LVP_POISON_MEMORY: "1"

View file

@ -27,4 +27,4 @@
CROSVM_VK_DRIVER: "lvp" CROSVM_VK_DRIVER: "lvp"
CROSVM_GPU_ARGS: "vulkan=true,gles=false,backend=virglrenderer,egl=true,surfaceless=true,fixed-blob-mapping=false" CROSVM_GPU_ARGS: "vulkan=true,gles=false,backend=virglrenderer,egl=true,surfaceless=true,fixed-blob-mapping=false"
tags: tags:
- kvm - $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64_KVM