ci: add FDO_RUNNER_JOB_PRIORITY_TAG_* to control priority of generic freedesktop runners

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"
variables:
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
JOB_PRIORITY: 75
# fast-fail in merge pipelines: stop early if we get this many unexpected fails/crashes
@@ -51,6 +54,9 @@ workflow:
# nightly pipeline
- if: &is-scheduled-pipeline $CI_PIPELINE_SOURCE == "schedule"
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
# (some) nightly builds perform LTO, so they take much longer than the
# 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
MESA_SPIRV_LOG_LEVEL: error
# 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
JOB_PRIORITY: 50
DATA_STORAGE_PATH: data_storage
@@ -348,6 +357,8 @@ sanity:
extends:
- .fdo.ci-fairy
stage: sanity
tags:
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
rules:
- if: *is-pre-merge
when: on_success
@@ -394,6 +405,8 @@ mr-label-maker-test:
extends:
- .fdo.ci-fairy
stage: sanity
tags:
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
rules:
- !reference [.mr-label-maker-rules, rules]
variables:

View File

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

View File

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

View File

@@ -74,7 +74,8 @@ shader-db:
- shader-db
timeout: 15m
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:
extends:

View File

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

View File

@@ -11,6 +11,8 @@
when: on_success
.softpipe-test:
tags:
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64
variables:
GPU_VERSION: softpipe
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
parallel: 3
tags:
- kvm
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64_KVM
extends:
- .deqp-test
- .virgl-test
@@ -43,7 +43,7 @@ virgl-traces:
PIGLIT_RESULTS: "virgl-replay"
LD_LIBRARY_PATH: "${CI_PROJECT_DIR}/install/lib/" # For Crosvm
tags:
- kvm
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64_KVM
script:
- . "$SCRIPTS_DIR"/setup-test-env.sh
# Use all threads for rendering and only run one job at a time

View File

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

View File

@@ -7,7 +7,8 @@ zink-lvp:
- .deqp-test
- .zink-lvp-test
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:
DEQP_SUITE: zink-lvp
DEQP_FRACTION: 8

View File

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

View File

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