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

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jun 30 19:10:34 UTC 2022


Module: Mesa
Branch: main
Commit: 05b41f9207a86d79a78254f4434470b5da54863a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=05b41f9207a86d79a78254f4434470b5da54863a

Author: Emma Anholt <emma at anholt.net>
Date:   Tue Jun 28 13:35:43 2022 -0700

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 at collabora.com>
Acked-by: Eric Engestrom <eric at engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17287>

---

 .gitlab-ci/test-source-dep.yml | 53 +++++++++++++++++++++++++++++++-----------
 src/freedreno/ci/gitlab-ci.yml |  7 +++++-
 2 files changed, 46 insertions(+), 14 deletions(-)

diff --git a/.gitlab-ci/test-source-dep.yml b/.gitlab-ci/test-source-dep.yml
index 5a1cf86a8d8..7113aa330d3 100644
--- a/.gitlab-ci/test-source-dep.yml
+++ b/.gitlab-ci/test-source-dep.yml
@@ -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
diff --git a/src/freedreno/ci/gitlab-ci.yml b/src/freedreno/ci/gitlab-ci.yml
index 6fac9deab48..51ce2f88191 100644
--- a/src/freedreno/ci/gitlab-ci.yml
+++ b/src/freedreno/ci/gitlab-ci.yml
@@ -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



More information about the mesa-commit mailing list