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 when: never
- !reference [.collabora-farm-rules, rules] - !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: .freedreno-rules:
stage: freedreno stage: freedreno
rules: rules:
- !reference [.freedreno-farm-rules, rules]
- !reference [.vulkan-rules, rules]
- !reference [.gl-rules, rules] - !reference [.gl-rules, rules]
- changes: &freedreno_file_list - !reference [.freedreno-common-rules, rules]
# Note: when https://gitlab.com/gitlab-org/gitlab/-/issues/198688 - changes: &freedreno_gl_file_list
# is supported, we can change the src/freedreno/ rule to explicitly - src/freedreno/ir2/**/*
# exclude tools
- src/freedreno/**/*
- src/gallium/drivers/freedreno/**/* - src/gallium/drivers/freedreno/**/*
- src/gallium/winsys/freedreno/**/* - src/gallium/winsys/freedreno/**/*
when: on_success when: on_success
- when: never - 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: .freedreno-rules-restricted:
stage: freedreno stage: freedreno
rules: rules:
@ -196,7 +224,10 @@
*vulkan_file_list *vulkan_file_list
when: manual when: manual
- changes: - changes:
*freedreno_file_list *freedreno_core_file_list
when: manual
- changes:
*freedreno_gl_file_list
when: manual when: manual
- when: never - when: never
@ -478,11 +509,7 @@
stage: layered-backends stage: layered-backends
rules: rules:
- !reference [.zink-common-rules, rules] - !reference [.zink-common-rules, rules]
- !reference [.vulkan-rules, rules] - !reference [.turnip-rules, rules]
- changes:
- src/freedreno/**/*
when: on_success
- when: never
# Unfortunately YAML doesn't let us concatenate arrays, so we have to do the # Unfortunately YAML doesn't let us concatenate arrays, so we have to do the
# rules duplication manually # rules duplication manually

View File

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