ci: Use "!references" to manage scheduled pipeline rules.
Because !references merging happens after yaml parsing, this lets us remove a duplicated definition between .test-source-dep.yml and .gitlab-ci.yml. Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com> Acked-by: Eric Engestrom <eric@engestrom.ch> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17287>
This commit is contained in:
parent
9fc7d5e0e1
commit
5cc71ac75f
|
@ -89,12 +89,6 @@ stages:
|
|||
- layered-backends
|
||||
- deploy
|
||||
|
||||
# Generic rule to not run the job during scheduled pipelines
|
||||
# ----------------------------------------------------------
|
||||
.scheduled_pipelines-rules:
|
||||
rules: &ignore_scheduled_pipelines
|
||||
if: &is-scheduled-pipeline '$CI_PIPELINE_SOURCE == "schedule"'
|
||||
when: never
|
||||
|
||||
# YAML anchors for rule conditions
|
||||
# --------------------------------
|
||||
|
@ -141,7 +135,7 @@ pages:
|
|||
- public
|
||||
needs: []
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- if: *is-mesa-main
|
||||
changes: &docs-or-ci
|
||||
- docs/**/*
|
||||
|
@ -156,7 +150,7 @@ test-docs:
|
|||
stage: deploy
|
||||
needs: []
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- if: *is-forked-branch
|
||||
changes: *docs-or-ci
|
||||
when: manual
|
||||
|
@ -180,7 +174,7 @@ test-docs-mr:
|
|||
# When to automatically run the CI
|
||||
.ci-run-policy:
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
# If any files affecting the pipeline are changed, build/test jobs run
|
||||
# automatically once all dependency jobs have passed
|
||||
- changes: &all_paths
|
||||
|
@ -224,7 +218,7 @@ test-docs-mr:
|
|||
extends:
|
||||
- .ci-run-policy
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
# Run pipeline by default in the main project if any CI pipeline
|
||||
# configuration files were changed, to ensure docker images are up to date
|
||||
- if: *is-post-merge
|
||||
|
@ -259,8 +253,7 @@ make git archive:
|
|||
- .fdo.ci-fairy
|
||||
stage: git-archive
|
||||
rules:
|
||||
- if: *is-scheduled-pipeline
|
||||
when: on_success
|
||||
- !reference [.scheduled_pipeline-rules, rules]
|
||||
# ensure we are running on packet
|
||||
tags:
|
||||
- packet.net
|
||||
|
@ -299,7 +292,7 @@ sanity:
|
|||
# pipelines.
|
||||
.test-manual-mr:
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- if: *is-forked-branch-or-pre-merge-not-for-marge
|
||||
changes:
|
||||
*all_paths
|
||||
|
|
|
@ -1,18 +1,24 @@
|
|||
# This file list source dependencies to avoid creating/running jobs
|
||||
# those outcome cannot be changed by the modifications from a branch.
|
||||
|
||||
# Generic rule to not run the job during scheduled pipelines
|
||||
# ----------------------------------------------------------
|
||||
.scheduled_pipelines-rules:
|
||||
rules: &ignore_scheduled_pipelines
|
||||
if: '$CI_PIPELINE_SOURCE == "schedule"'
|
||||
when: never
|
||||
# Rule to filter for only scheduled pipelines.
|
||||
.scheduled_pipeline-rules:
|
||||
rules:
|
||||
- if: &is-scheduled-pipeline '$CI_PIPELINE_SOURCE == "schedule"'
|
||||
when: on_success
|
||||
|
||||
# Generic rule to not run the job during scheduled pipelines. Jobs that aren't
|
||||
# something like a nightly run should include this rule.
|
||||
.no_scheduled_pipelines-rules:
|
||||
rules:
|
||||
- if: *is-scheduled-pipeline
|
||||
when: never
|
||||
|
||||
# Mesa core source file dependencies
|
||||
# ----------------------------------
|
||||
.mesa-rules:
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes: &mesa_core_file_list
|
||||
- .gitlab-ci.yml
|
||||
- .gitlab-ci/**/*
|
||||
|
@ -46,7 +52,7 @@
|
|||
|
||||
.vulkan-rules:
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes: &vulkan_file_list
|
||||
- src/vulkan/**/*
|
||||
when: on_success
|
||||
|
@ -56,7 +62,7 @@
|
|||
# -------------------------------------
|
||||
.gallium-rules:
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes: &gallium_core_file_list
|
||||
- src/gallium/*
|
||||
- src/gallium/auxiliary/**/*
|
||||
|
@ -71,7 +77,7 @@
|
|||
.softpipe-rules:
|
||||
stage: software-renderer
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes:
|
||||
*mesa_core_file_list
|
||||
when: on_success
|
||||
|
@ -87,7 +93,7 @@
|
|||
.llvmpipe-rules:
|
||||
stage: software-renderer
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes:
|
||||
*mesa_core_file_list
|
||||
when: on_success
|
||||
|
@ -103,7 +109,7 @@
|
|||
.lavapipe-rules:
|
||||
stage: software-renderer
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes:
|
||||
*mesa_core_file_list
|
||||
when: on_success
|
||||
|
@ -123,7 +129,7 @@
|
|||
.llvmpipe-cl-rules:
|
||||
stage: software-renderer
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes:
|
||||
- .gitlab-ci.yml
|
||||
- .gitlab-ci/**/*
|
||||
|
@ -152,7 +158,7 @@
|
|||
when: never
|
||||
- if: '$COLLABORA_FARM == "offline" && $RUNNER_TAG =~ /^mesa-ci-x86-64-lava-/'
|
||||
when: never
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes:
|
||||
*mesa_core_file_list
|
||||
when: on_success
|
||||
|
@ -185,7 +191,7 @@
|
|||
- if: '($GITLAB_USER_LOGIN !~ "/^(robclark|anholt|flto|cwabbott0|Danil|tomeu|okias)$/") &&
|
||||
($GITLAB_USER_LOGIN != "marge-bot" || $CI_COMMIT_BRANCH)'
|
||||
when: never
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes:
|
||||
*mesa_core_file_list
|
||||
when: on_success
|
||||
|
@ -209,7 +215,7 @@
|
|||
when: never
|
||||
- if: '$COLLABORA_FARM == "offline" && $RUNNER_TAG =~ /^mesa-ci-x86-64-lava-/'
|
||||
when: never
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
# Run only on pre-merge pipelines from Marge
|
||||
- if: '$GITLAB_USER_LOGIN != "marge-bot" || $CI_COMMIT_BRANCH'
|
||||
when: never
|
||||
|
@ -230,7 +236,7 @@
|
|||
.nouveau-rules:
|
||||
stage: nouveau
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes:
|
||||
*mesa_core_file_list
|
||||
when: on_success
|
||||
|
@ -248,7 +254,7 @@
|
|||
.panfrost-midgard-rules:
|
||||
stage: arm
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- if: '$COLLABORA_FARM == "offline" && $RUNNER_TAG =~ /^mesa-ci-x86-64-lava-/'
|
||||
when: never
|
||||
- changes:
|
||||
|
@ -276,7 +282,7 @@
|
|||
.panfrost-bifrost-rules:
|
||||
stage: arm
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- if: '$COLLABORA_FARM == "offline" && $RUNNER_TAG =~ /^mesa-ci-x86-64-lava-/'
|
||||
when: never
|
||||
- changes:
|
||||
|
@ -305,7 +311,7 @@
|
|||
.vc4-rules:
|
||||
stage: broadcom
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes:
|
||||
*mesa_core_file_list
|
||||
when: on_success
|
||||
|
@ -323,7 +329,7 @@
|
|||
.v3d-rules:
|
||||
stage: broadcom
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes:
|
||||
*mesa_core_file_list
|
||||
when: on_success
|
||||
|
@ -341,7 +347,7 @@
|
|||
.v3dv-rules:
|
||||
stage: broadcom
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes:
|
||||
*mesa_core_file_list
|
||||
when: on_success
|
||||
|
@ -356,7 +362,7 @@
|
|||
.lima-rules:
|
||||
stage: arm
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- if: '$LIMA_FARM == "offline"'
|
||||
when: never
|
||||
- changes:
|
||||
|
@ -375,7 +381,7 @@
|
|||
.radv-rules:
|
||||
stage: amd
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- if: '$COLLABORA_FARM == "offline" && $RUNNER_TAG =~ /^mesa-ci-x86-64-lava-/'
|
||||
when: never
|
||||
- changes:
|
||||
|
@ -390,7 +396,7 @@
|
|||
.virgl-rules:
|
||||
stage: layered-backends
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes:
|
||||
*mesa_core_file_list
|
||||
when: on_success
|
||||
|
@ -411,7 +417,7 @@
|
|||
.virgl-iris-rules-performance:
|
||||
stage: layered-backends
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- if: '$COLLABORA_FARM == "offline" && $RUNNER_TAG =~ /^mesa-ci-x86-64-lava-/'
|
||||
when: never
|
||||
# Run only on pre-merge pipelines from Marge
|
||||
|
@ -434,7 +440,7 @@
|
|||
.radeonsi-rules:
|
||||
stage: amd
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- if: '$COLLABORA_FARM == "offline" && $RUNNER_TAG =~ /^mesa-ci-x86-64-lava-/'
|
||||
when: never
|
||||
- changes:
|
||||
|
@ -458,7 +464,7 @@
|
|||
.radeonsi-vaapi-rules:
|
||||
stage: amd
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- if: '$COLLABORA_FARM == "offline" && $RUNNER_TAG =~ /^mesa-ci-x86-64-lava-/'
|
||||
when: never
|
||||
- changes:
|
||||
|
@ -478,7 +484,7 @@
|
|||
.i915g-rules:
|
||||
stage: intel
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes:
|
||||
*mesa_core_file_list
|
||||
when: on_success
|
||||
|
@ -495,7 +501,7 @@
|
|||
.crocus-rules:
|
||||
stage: intel
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes:
|
||||
*mesa_core_file_list
|
||||
when: on_success
|
||||
|
@ -512,7 +518,7 @@
|
|||
.iris-rules:
|
||||
stage: intel
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- if: '$COLLABORA_FARM == "offline" && $RUNNER_TAG =~ /^mesa-ci-x86-64-lava-/'
|
||||
when: never
|
||||
- changes:
|
||||
|
@ -533,7 +539,7 @@
|
|||
.iris-rules-performance:
|
||||
stage: intel
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- if: '$COLLABORA_FARM == "offline" && $RUNNER_TAG =~ /^mesa-ci-x86-64-lava-/'
|
||||
when: never
|
||||
# Run only on pre-merge pipelines from Marge
|
||||
|
@ -553,7 +559,7 @@
|
|||
.anv-rules:
|
||||
stage: intel
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- if: '$COLLABORA_FARM == "offline" && $RUNNER_TAG =~ /^mesa-ci-x86-64-lava-/'
|
||||
when: never
|
||||
- changes:
|
||||
|
@ -570,7 +576,7 @@
|
|||
.intel-rules:
|
||||
stage: intel
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- if: '$COLLABORA_FARM == "offline" && $RUNNER_TAG =~ /^mesa-ci-x86-64-lava-/'
|
||||
when: never
|
||||
- changes:
|
||||
|
@ -592,7 +598,7 @@
|
|||
.zink-rules:
|
||||
stage: layered-backends
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes:
|
||||
*mesa_core_file_list
|
||||
when: on_success
|
||||
|
@ -610,7 +616,7 @@
|
|||
.zink-anv-rules:
|
||||
stage: layered-backends
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes:
|
||||
*mesa_core_file_list
|
||||
when: on_success
|
||||
|
@ -631,7 +637,7 @@
|
|||
.zink-turnip-rules:
|
||||
stage: layered-backends
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes:
|
||||
*mesa_core_file_list
|
||||
when: on_success
|
||||
|
@ -655,7 +661,7 @@
|
|||
rules:
|
||||
- if: '$MICROSOFT_FARM == "offline"'
|
||||
when: never
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes:
|
||||
*mesa_core_file_list
|
||||
when: on_success
|
||||
|
@ -693,7 +699,7 @@
|
|||
rules:
|
||||
- if: '$MICROSOFT_FARM == "offline"'
|
||||
when: never
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes:
|
||||
*mesa_core_file_list
|
||||
when: on_success
|
||||
|
@ -710,7 +716,7 @@
|
|||
rules:
|
||||
- if: '$MICROSOFT_FARM == "offline"'
|
||||
when: never
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes:
|
||||
*mesa_core_file_list
|
||||
when: on_success
|
||||
|
@ -725,7 +731,7 @@
|
|||
rules:
|
||||
- if: '$MICROSOFT_FARM == "offline"'
|
||||
when: never
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes:
|
||||
*mesa_core_file_list
|
||||
when: on_success
|
||||
|
@ -743,7 +749,7 @@
|
|||
.etnaviv-rules:
|
||||
stage: etnaviv
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes:
|
||||
*mesa_core_file_list
|
||||
when: on_success
|
||||
|
@ -763,7 +769,7 @@
|
|||
# Rules for unusual architectures that only build a subset of drivers
|
||||
.ppc64el-rules:
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes:
|
||||
*mesa_core_file_list
|
||||
when: on_success
|
||||
|
@ -799,7 +805,7 @@
|
|||
|
||||
.s390x-rules:
|
||||
rules:
|
||||
- *ignore_scheduled_pipelines
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes:
|
||||
*mesa_core_file_list
|
||||
when: on_success
|
||||
|
|
Loading…
Reference in New Issue