ci: Split core GL from core VK-or-GL rules.

Now editing src/glx won't rerun Vulkan testing.

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:
Emma Anholt 2022-06-28 12:59:47 -07:00 committed by Marge Bot
parent 02269059d1
commit f2164ab92c
1 changed files with 53 additions and 180 deletions

View File

@ -14,12 +14,12 @@
- if: *is-scheduled-pipeline - if: *is-scheduled-pipeline
when: never when: never
# Mesa core source file dependencies # Mesa core source file dependencies that may impact any build or test.
# ---------------------------------- # ---------------------------------------------------------------------
.mesa-rules: .core-rules:
rules: rules:
- !reference [.no_scheduled_pipelines-rules, rules] - !reference [.no_scheduled_pipelines-rules, rules]
- changes: &mesa_core_file_list - changes: &core_file_list
- .gitlab-ci.yml - .gitlab-ci.yml
- .gitlab-ci/**/* - .gitlab-ci/**/*
- include/**/* - include/**/*
@ -28,12 +28,24 @@
- src/* - src/*
- src/compiler/**/* - src/compiler/**/*
- src/drm-shim/**/* - src/drm-shim/**/*
- src/egl/**/*
- src/gbm/**/* - src/gbm/**/*
- src/glx/**/*
- src/gtest/**/* - src/gtest/**/*
- src/hgl/**/* - src/hgl/**/*
- src/include/**/* - src/include/**/*
# Some src/util and src/compiler files use headers from mesa/ (e.g.
# mtypes.h). We should clean that up.
- src/mesa/**/*.h
- src/tool/**/*
- src/util/**/*
when: on_success
# Mesa source file dependencies that may impact any GL driver build or test.
.gl-rules:
rules:
- !reference [.core-rules, rules]
- changes: &mesa_core_file_list
- src/egl/**/*
- src/glx/**/*
- src/loader/**/* - src/loader/**/*
- src/mapi/**/* - src/mapi/**/*
- src/mesa/* - src/mesa/*
@ -47,21 +59,7 @@
- src/mesa/vbo/**/* - src/mesa/vbo/**/*
- src/mesa/x86/**/* - src/mesa/x86/**/*
- src/mesa/x86-64/**/* - src/mesa/x86-64/**/*
- src/tool/**/*
- src/util/**/*
.vulkan-rules:
rules:
- !reference [.no_scheduled_pipelines-rules, rules]
- changes: &vulkan_file_list
- src/vulkan/**/*
when: on_success when: on_success
# Gallium core source file dependencies
# -------------------------------------
.gallium-rules:
rules:
- !reference [.no_scheduled_pipelines-rules, rules]
- changes: &gallium_core_file_list - changes: &gallium_core_file_list
- src/gallium/* - src/gallium/*
- src/gallium/auxiliary/**/* - src/gallium/auxiliary/**/*
@ -72,17 +70,20 @@
- src/gallium/targets/**/* - src/gallium/targets/**/*
- src/gallium/tests/**/* - src/gallium/tests/**/*
- src/gallium/winsys/* - src/gallium/winsys/*
when: on_success
# Source file dependencies that may impact any Vulkan driver build or test
.vulkan-rules:
rules:
- !reference [.core-rules, rules]
- changes: &vulkan_file_list
- src/vulkan/**/*
when: on_success
.softpipe-rules: .softpipe-rules:
stage: software-renderer stage: software-renderer
rules: rules:
- !reference [.no_scheduled_pipelines-rules, rules] - !reference [.gl-rules, rules]
- changes:
*mesa_core_file_list
when: on_success
- changes:
*gallium_core_file_list
when: on_success
- changes: &softpipe_file_list - changes: &softpipe_file_list
- src/gallium/drivers/softpipe/**/* - src/gallium/drivers/softpipe/**/*
- src/gallium/winsys/sw/**/* - src/gallium/winsys/sw/**/*
@ -92,13 +93,7 @@
.llvmpipe-rules: .llvmpipe-rules:
stage: software-renderer stage: software-renderer
rules: rules:
- !reference [.no_scheduled_pipelines-rules, rules] - !reference [.gl-rules, rules]
- changes:
*mesa_core_file_list
when: on_success
- changes:
*gallium_core_file_list
when: on_success
- changes: &llvmpipe_file_list - changes: &llvmpipe_file_list
- src/gallium/drivers/llvmpipe/**/* - src/gallium/drivers/llvmpipe/**/*
- src/gallium/winsys/sw/**/* - src/gallium/winsys/sw/**/*
@ -109,12 +104,8 @@
stage: software-renderer stage: software-renderer
rules: rules:
- !reference [.vulkan-rules, rules] - !reference [.vulkan-rules, rules]
- changes: # One could probably be a little more clever here and skip non-gallium Mesa changes (see also .llvmpipe-cl-rules).
*mesa_core_file_list - !reference [.gl-rules, rules]
when: on_success
- changes:
*gallium_core_file_list
when: on_success
- changes: &lavapipe_file_list - changes: &lavapipe_file_list
- src/gallium/drivers/llvmpipe/**/* - src/gallium/drivers/llvmpipe/**/*
- src/gallium/frontends/lavapipe/**/* - src/gallium/frontends/lavapipe/**/*
@ -164,12 +155,7 @@
rules: rules:
- !reference [.freedreno-farm-rules, rules] - !reference [.freedreno-farm-rules, rules]
- !reference [.vulkan-rules, rules] - !reference [.vulkan-rules, rules]
- changes: - !reference [.gl-rules, rules]
*mesa_core_file_list
when: on_success
- changes:
*gallium_core_file_list
when: on_success
- changes: &freedreno_file_list - changes: &freedreno_file_list
# Note: when https://gitlab.com/gitlab-org/gitlab/-/issues/198688 # Note: when https://gitlab.com/gitlab-org/gitlab/-/issues/198688
# is supported, we can change the src/freedreno/ rule to explicitly # is supported, we can change the src/freedreno/ rule to explicitly
@ -217,13 +203,7 @@
.nouveau-rules: .nouveau-rules:
stage: nouveau stage: nouveau
rules: rules:
- !reference [.no_scheduled_pipelines-rules, rules] - !reference [.gl-rules, rules]
- changes:
*mesa_core_file_list
when: on_success
- changes:
*gallium_core_file_list
when: on_success
- changes: - changes:
- src/nouveau/**/* - src/nouveau/**/*
- src/gallium/drivers/nouveau/**/* - src/gallium/drivers/nouveau/**/*
@ -235,14 +215,8 @@
.panfrost-midgard-rules: .panfrost-midgard-rules:
stage: arm stage: arm
rules: rules:
- !reference [.no_scheduled_pipelines-rules, rules]
- !reference [.collabora-farm-rules, rules] - !reference [.collabora-farm-rules, rules]
- changes: - !reference [.gl-rules, rules]
*mesa_core_file_list
when: on_success
- changes:
*gallium_core_file_list
when: on_success
- changes: &panfrost_gallium_file_list - changes: &panfrost_gallium_file_list
- src/gallium/drivers/panfrost/**/* - src/gallium/drivers/panfrost/**/*
- src/gallium/winsys/panfrost/**/* - src/gallium/winsys/panfrost/**/*
@ -264,12 +238,7 @@
rules: rules:
- !reference [.collabora-farm-rules, rules] - !reference [.collabora-farm-rules, rules]
- !reference [.vulkan-rules, rules] - !reference [.vulkan-rules, rules]
- changes: - !reference [.gl-rules, rules]
*mesa_core_file_list
when: on_success
- changes:
*gallium_core_file_list
when: on_success
- changes: - changes:
*panfrost_common_file_list *panfrost_common_file_list
when: on_success when: on_success
@ -287,13 +256,7 @@
.vc4-rules: .vc4-rules:
stage: broadcom stage: broadcom
rules: rules:
- !reference [.no_scheduled_pipelines-rules, rules] - !reference [.gl-rules, rules]
- changes:
*mesa_core_file_list
when: on_success
- changes:
*gallium_core_file_list
when: on_success
- changes: - changes:
- src/broadcom/**/* - src/broadcom/**/*
- src/gallium/drivers/vc4/**/* - src/gallium/drivers/vc4/**/*
@ -305,13 +268,7 @@
.v3d-rules: .v3d-rules:
stage: broadcom stage: broadcom
rules: rules:
- !reference [.no_scheduled_pipelines-rules, rules] - !reference [.gl-rules, rules]
- changes:
*mesa_core_file_list
when: on_success
- changes:
*gallium_core_file_list
when: on_success
- changes: - changes:
- src/broadcom/**/* - src/broadcom/**/*
- src/gallium/drivers/v3d/**/* - src/gallium/drivers/v3d/**/*
@ -324,9 +281,6 @@
stage: broadcom stage: broadcom
rules: rules:
- !reference [.vulkan-rules, rules] - !reference [.vulkan-rules, rules]
- changes:
*mesa_core_file_list
when: on_success
- changes: - changes:
- src/broadcom/**/* - src/broadcom/**/*
when: on_success when: on_success
@ -335,15 +289,9 @@
.lima-rules: .lima-rules:
stage: arm stage: arm
rules: rules:
- !reference [.no_scheduled_pipelines-rules, rules]
- if: '$LIMA_FARM == "offline"' - if: '$LIMA_FARM == "offline"'
when: never when: never
- changes: - !reference [.gl-rules, rules]
*mesa_core_file_list
when: on_success
- changes:
*gallium_core_file_list
when: on_success
- changes: - changes:
- src/gallium/drivers/lima/**/* - src/gallium/drivers/lima/**/*
- src/gallium/winsys/lima/**/* - src/gallium/winsys/lima/**/*
@ -354,11 +302,8 @@
.radv-rules: .radv-rules:
stage: amd stage: amd
rules: rules:
- !reference [.no_scheduled_pipelines-rules, rules]
- !reference [.collabora-farm-rules, rules] - !reference [.collabora-farm-rules, rules]
- changes: - !reference [.vulkan-rules, rules]
*mesa_core_file_list
when: on_success
- changes: &radv_file_list - changes: &radv_file_list
- src/amd/**/* - src/amd/**/*
- src/vulkan/**/* - src/vulkan/**/*
@ -368,13 +313,7 @@
.virgl-rules: .virgl-rules:
stage: layered-backends stage: layered-backends
rules: rules:
- !reference [.no_scheduled_pipelines-rules, rules] - !reference [.gl-rules, rules]
- changes:
*mesa_core_file_list
when: on_success
- changes:
*gallium_core_file_list
when: on_success
- changes: - changes:
*llvmpipe_file_list *llvmpipe_file_list
when: on_success when: on_success
@ -389,17 +328,11 @@
.virgl-iris-rules-performance: .virgl-iris-rules-performance:
stage: layered-backends stage: layered-backends
rules: rules:
- !reference [.no_scheduled_pipelines-rules, rules]
- !reference [.collabora-farm-rules, rules] - !reference [.collabora-farm-rules, rules]
# Run only on pre-merge pipelines from Marge # Run only on pre-merge pipelines from Marge
- if: '$GITLAB_USER_LOGIN != "marge-bot" || $CI_COMMIT_BRANCH' - if: '$GITLAB_USER_LOGIN != "marge-bot" || $CI_COMMIT_BRANCH'
when: never when: never
- changes: - !reference [.gl-rules, rules]
*mesa_core_file_list
when: manual
- changes:
*gallium_core_file_list
when: manual
- changes: - changes:
*llvmpipe_file_list *llvmpipe_file_list
when: manual when: manual
@ -411,14 +344,8 @@
.radeonsi-rules: .radeonsi-rules:
stage: amd stage: amd
rules: rules:
- !reference [.no_scheduled_pipelines-rules, rules]
- !reference [.collabora-farm-rules, rules] - !reference [.collabora-farm-rules, rules]
- changes: - !reference [.gl-rules, rules]
*mesa_core_file_list
when: on_success
- changes:
*gallium_core_file_list
when: on_success
- changes: &radeonsi_file_list - changes: &radeonsi_file_list
- src/gallium/drivers/radeonsi/**/* - src/gallium/drivers/radeonsi/**/*
- src/gallium/include/winsys/**/* - src/gallium/include/winsys/**/*
@ -434,14 +361,8 @@
.radeonsi-vaapi-rules: .radeonsi-vaapi-rules:
stage: amd stage: amd
rules: rules:
- !reference [.no_scheduled_pipelines-rules, rules]
- !reference [.collabora-farm-rules, rules] - !reference [.collabora-farm-rules, rules]
- changes: - !reference [.gl-rules, rules]
*mesa_core_file_list
when: on_success
- changes:
*gallium_core_file_list
when: on_success
- changes: - changes:
*radeonsi_file_list *radeonsi_file_list
when: on_success when: on_success
@ -453,13 +374,7 @@
.i915g-rules: .i915g-rules:
stage: intel stage: intel
rules: rules:
- !reference [.no_scheduled_pipelines-rules, rules] - !reference [.gl-rules, rules]
- changes:
*mesa_core_file_list
when: on_success
- changes:
*gallium_core_file_list
when: on_success
- changes: - changes:
- src/gallium/drivers/i915/**/* - src/gallium/drivers/i915/**/*
- src/gallium/winsys/i915/**/* - src/gallium/winsys/i915/**/*
@ -470,13 +385,7 @@
.crocus-rules: .crocus-rules:
stage: intel stage: intel
rules: rules:
- !reference [.no_scheduled_pipelines-rules, rules] - !reference [.gl-rules, rules]
- changes:
*mesa_core_file_list
when: on_success
- changes:
*gallium_core_file_list
when: on_success
- changes: - changes:
- src/gallium/drivers/crocus/**/* - src/gallium/drivers/crocus/**/*
- src/gallium/winsys/crocus/**/* - src/gallium/winsys/crocus/**/*
@ -489,12 +398,7 @@
rules: rules:
- !reference [.no_scheduled_pipelines-rules, rules] - !reference [.no_scheduled_pipelines-rules, rules]
- !reference [.collabora-farm-rules, rules] - !reference [.collabora-farm-rules, rules]
- changes: - !reference [.gl-rules, rules]
*mesa_core_file_list
when: on_success
- changes:
*gallium_core_file_list
when: on_success
- changes: &iris_file_list - changes: &iris_file_list
- src/gallium/drivers/iris/**/* - src/gallium/drivers/iris/**/*
- src/gallium/winsys/iris/**/* - src/gallium/winsys/iris/**/*
@ -512,12 +416,7 @@
# Run only on pre-merge pipelines from Marge # Run only on pre-merge pipelines from Marge
- if: '$GITLAB_USER_LOGIN != "marge-bot" || $CI_COMMIT_BRANCH' - if: '$GITLAB_USER_LOGIN != "marge-bot" || $CI_COMMIT_BRANCH'
when: never when: never
- changes: - !reference [.gl-rules, rules]
*mesa_core_file_list
when: manual
- changes:
*gallium_core_file_list
when: manual
- changes: - changes:
*iris_file_list *iris_file_list
when: manual when: manual
@ -538,13 +437,9 @@
stage: intel stage: intel
rules: rules:
- !reference [.collabora-farm-rules, rules] - !reference [.collabora-farm-rules, rules]
# Note that we trigger on changes both anv and iris, because piglit and skqp jobs test both.
- !reference [.vulkan-rules, rules] - !reference [.vulkan-rules, rules]
- changes: - !reference [.gl-rules, rules]
*mesa_core_file_list
when: on_success
- changes:
*gallium_core_file_list
when: on_success
- changes: &iris_file_list - changes: &iris_file_list
- src/gallium/drivers/iris/**/* - src/gallium/drivers/iris/**/*
- src/gallium/winsys/iris/**/* - src/gallium/winsys/iris/**/*
@ -554,13 +449,7 @@
.zink-common-rules: .zink-common-rules:
rules: rules:
- !reference [.no_scheduled_pipelines-rules, rules] - !reference [.gl-rules, rules]
- changes:
*mesa_core_file_list
when: on_success
- changes:
*gallium_core_file_list
when: on_success
- changes: - changes:
- src/gallium/drivers/zink/**/* - src/gallium/drivers/zink/**/*
when: on_success when: on_success
@ -628,12 +517,7 @@
rules: rules:
- if: '$MICROSOFT_FARM == "offline"' - if: '$MICROSOFT_FARM == "offline"'
when: never when: never
- !reference [.no_scheduled_pipelines-rules, rules] - !reference [.gl-rules, rules]
- changes:
*mesa_core_file_list
when: on_success
- changes:
*gallium_core_file_list
- changes: *d3d12_file_list - changes: *d3d12_file_list
when: on_success when: on_success
- changes: - changes:
@ -646,9 +530,7 @@
- if: '$MICROSOFT_FARM == "offline"' - if: '$MICROSOFT_FARM == "offline"'
when: never when: never
- !reference [.no_scheduled_pipelines-rules, rules] - !reference [.no_scheduled_pipelines-rules, rules]
- changes: - !reference [.core-rules, rules]
*mesa_core_file_list
when: on_success
- changes: &spirv2dxil_file_list - changes: &spirv2dxil_file_list
- src/microsoft/ci/* - src/microsoft/ci/*
- src/microsoft/compiler/* - src/microsoft/compiler/*
@ -661,9 +543,6 @@
- if: '$MICROSOFT_FARM == "offline"' - if: '$MICROSOFT_FARM == "offline"'
when: never when: never
- !reference [.vulkan-rules, rules] - !reference [.vulkan-rules, rules]
- changes:
*mesa_core_file_list
when: on_success
- changes: - changes:
*spirv2dxil_file_list *spirv2dxil_file_list
when: on_success when: on_success
@ -675,13 +554,7 @@
.etnaviv-rules: .etnaviv-rules:
stage: etnaviv stage: etnaviv
rules: rules:
- !reference [.no_scheduled_pipelines-rules, rules] - !reference [.gl-rules, rules]
- changes:
*mesa_core_file_list
when: on_success
- changes:
*gallium_core_file_list
when: on_success
- changes: - changes:
- src/etnaviv/**/* - src/etnaviv/**/*
- src/gallium/drivers/etnaviv/**/* - src/gallium/drivers/etnaviv/**/*