ci/freedreno: Filter when we run test jobs for VK or GL changes.

Not only runs less testing when only one driver is impacted, but also
makes sure zink+turnip is turned off when the farm is.

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 13:35:43 -07:00 committed by Marge Bot
parent f2164ab92c
commit 05b41f9207
2 changed files with 46 additions and 14 deletions

View File

@ -150,22 +150,50 @@
when: never
- !reference [.collabora-farm-rules, rules]
# Rules for changes that impact either freedreno or turnip.
.freedreno-common-rules:
rules:
- !reference [.freedreno-farm-rules, rules]
- changes: &freedreno_core_file_list
- src/freedreno/ci/**/*
- src/freedreno/common/**/*
- src/freedreno/drm/**/*
- src/freedreno/fdl/**/*
- src/freedreno/ir3/**/*
- src/freedreno/isa/**/*
- src/freedreno/registers/**/*
when: on_success
- when: never
.freedreno-rules:
stage: freedreno
rules:
- !reference [.freedreno-farm-rules, rules]
- !reference [.vulkan-rules, rules]
- !reference [.gl-rules, rules]
- changes: &freedreno_file_list
# Note: when https://gitlab.com/gitlab-org/gitlab/-/issues/198688
# is supported, we can change the src/freedreno/ rule to explicitly
# exclude tools
- src/freedreno/**/*
- !reference [.freedreno-common-rules, rules]
- changes: &freedreno_gl_file_list
- src/freedreno/ir2/**/*
- src/gallium/drivers/freedreno/**/*
- src/gallium/winsys/freedreno/**/*
when: on_success
- when: never
.turnip-rules:
stage: freedreno
rules:
- !reference [.vulkan-rules, rules]
- !reference [.freedreno-common-rules, rules]
- changes:
- src/freedreno/vulkan/**/*
when: on_success
- when: never
# For piglit and skqp test jobs that run both GL and VK tests.
.freedreno-turnip-rules:
rules:
- !reference [.freedreno-rules, rules]
- !reference [.turnip-rules, rules]
- when: never
.freedreno-rules-restricted:
stage: freedreno
rules:
@ -196,7 +224,10 @@
*vulkan_file_list
when: manual
- changes:
*freedreno_file_list
*freedreno_core_file_list
when: manual
- changes:
*freedreno_gl_file_list
when: manual
- when: never
@ -478,11 +509,7 @@
stage: layered-backends
rules:
- !reference [.zink-common-rules, rules]
- !reference [.vulkan-rules, rules]
- changes:
- src/freedreno/**/*
when: on_success
- when: never
- !reference [.turnip-rules, rules]
# Unfortunately YAML doesn't let us concatenate arrays, so we have to do the
# rules duplication manually

View File

@ -127,7 +127,7 @@ a530-traces:
a618_vk:
extends:
- .lava-test:arm64
- .freedreno-rules
- .turnip-rules
parallel: 7
variables:
VK_DRIVER: freedreno
@ -205,6 +205,7 @@ a630_skqp:
extends:
- .baremetal-skqp-test
- .a630-test
- .freedreno-turnip-rules
variables:
# Possible skqp backends: gl, gles, unitTest and vk
SKQP_BACKENDS: gl gles vk unitTest # space separated values
@ -214,6 +215,7 @@ a630_vk:
extends:
- .a630-test
- .baremetal-deqp-test-freedreno-vk
- .turnip-rules
variables:
DEQP_SUITE: freedreno-a630-vk
@ -235,6 +237,7 @@ a630_vk_asan:
- .a630-test
- .baremetal-deqp-test-freedreno-vk
- .baremetal-arm64-asan-test
- .turnip-rules
variables:
DEQP_SUITE: freedreno-a630-vk-asan
FDO_CI_CONCURRENT: 2 # We get OOMkills if we go too wide with asan enabled
@ -244,6 +247,8 @@ a630_piglit:
extends:
- .piglit-test
- .a630-test
# Note that piglit has GL+VK integration testing.
- .freedreno-turnip-rules
variables:
HWCI_START_XORG: 1
PIGLIT_PROFILES: gpu