aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPierre-Eric Pelloux-Prayer <[email protected]>2019-10-30 20:39:08 +0100
committerPierre-Eric Pelloux-Prayer <[email protected]>2020-03-09 16:31:55 +0100
commit2a9d6fdd8c5a94b574e241f9cad5662cbaef54b2 (patch)
tree66a1fb8a77d5a67b947d15dbea6c841facfa8f46
parent61fb17e8d74b9b38f54780483157682fe9d3e312 (diff)
gitlab-ci: rules:changes to test on tested drivers changes
For now tests only use these drivers: * llvmpipe * softpipe * freedreno * lima * etnaviv * panfrost So using rules:changes gitlab feature to run the tests when the changes made are potentially affecting these drivers. A few notes: * the following code: .piglit-test: extends: - .test-gl - .llvmpipe-rules makes gitlab replace .test-gl "rules:changes" values by the one from ".llvmpipe-rules". * rules:changes always matches for non-MR new branches so jobs will always be created (and they'll be run if their dependencies are run). For pushes to existing branches the files changed by the push are used to match the rules:changes path. * the same gitlab feature could be used for some build jobs Acked-by: Eric Engestrom <[email protected]> Reviewed-by: Michel Dänzer <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2569> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2569>
-rw-r--r--.gitlab-ci.yml22
-rw-r--r--.gitlab-ci/lava-gitlab-ci.yml40
-rw-r--r--.gitlab-ci/test-source-dep.yml118
3 files changed, 156 insertions, 24 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 56b9a7606c0..5cc46fba89d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -6,6 +6,7 @@ include:
ref: b7030c2cd0d6ccc5f6d4f8299bafa4daa9240d71
file: '/templates/debian.yml'
- local: '.gitlab-ci/lava-gitlab-ci.yml'
+ - local: '.gitlab-ci/test-source-dep.yml'
stages:
- container
@@ -567,8 +568,9 @@ scons-old-llvm:
- x86_test-vk
.piglit-test:
- extends: .test-gl
- stage: llvmpipe
+ extends:
+ - .test-gl
+ - .llvmpipe-rules
artifacts:
when: on_failure
name: "mesa_${CI_JOB_NAME}"
@@ -644,12 +646,14 @@ llvmpipe-gles2:
LP_NUM_THREADS: 0
DEQP_EXPECTED_FAILS: deqp-llvmpipe-fails.txt
LIBGL_ALWAYS_SOFTWARE: "true"
- extends: .deqp-test-gl
- stage: llvmpipe
+ extends:
+ - .deqp-test-gl
+ - .llvmpipe-rules
softpipe-gles2:
- extends: llvmpipe-gles2
- stage: softpipe
+ extends:
+ - llvmpipe-gles2
+ - .softpipe-rules
variables:
DEQP_EXPECTED_FAILS: deqp-softpipe-fails.txt
DEQP_SKIPS: deqp-softpipe-skips.txt
@@ -671,7 +675,7 @@ arm64_a630_gles2:
extends:
- .deqp-test-gl
- .use-arm_test
- stage: freedreno
+ - .freedreno-rules
variables:
DEQP_VER: gles2
DEQP_EXPECTED_FAILS: deqp-freedreno-a630-fails.txt
@@ -766,7 +770,9 @@ radv-polaris10-fossils:
- ./artifacts/tracie-runner-vk.sh
llvmpipe-traces:
- extends: .traces-test-gl
+ extends:
+ - .traces-test-gl
+ - .llvmpipe-rules
variables:
LIBGL_ALWAYS_SOFTWARE: "true"
GALLIUM_DRIVER: "llvmpipe"
diff --git a/.gitlab-ci/lava-gitlab-ci.yml b/.gitlab-ci/lava-gitlab-ci.yml
index 00e960f86e6..3df5894d7ce 100644
--- a/.gitlab-ci/lava-gitlab-ci.yml
+++ b/.gitlab-ci/lava-gitlab-ci.yml
@@ -67,8 +67,9 @@
- meson-arm64
panfrost-t720-gles2:arm64:
- extends: .lava-test:arm64
- stage: panfrost
+ extends:
+ - .lava-test:arm64
+ - .panfrost-rules
variables:
DEVICE_TYPE: sun50i-h6-pine-h64
GPU_VERSION: panfrost-t720
@@ -77,8 +78,9 @@ panfrost-t720-gles2:arm64:
- lava-sun50i-h6-pine-h64
panfrost-t760-gles2:armhf:
- extends: .lava-test:armhf
- stage: panfrost
+ extends:
+ - .lava-test:armhf
+ - .panfrost-rules
variables:
DEVICE_TYPE: rk3288-veyron-jaq
GPU_VERSION: panfrost-t760
@@ -89,8 +91,9 @@ panfrost-t760-gles2:armhf:
- lava-rk3288-veyron-jaq
panfrost-t860-gles2:arm64:
- extends: .lava-test:arm64
- stage: panfrost
+ extends:
+ - .lava-test:arm64
+ - .panfrost-rules
variables:
DEVICE_TYPE: rk3399-gru-kevin
GPU_VERSION: panfrost-t860
@@ -101,8 +104,9 @@ panfrost-t860-gles2:arm64:
- lava-rk3399-gru-kevin
panfrost-t860-gles3:arm64:
- extends: .lava-test:arm64
- stage: panfrost
+ extends:
+ - .lava-test:arm64
+ - .panfrost-rules
variables:
DEVICE_TYPE: rk3399-gru-kevin
GPU_VERSION: panfrost-t860
@@ -116,8 +120,9 @@ panfrost-t860-gles3:arm64:
- lava-rk3399-gru-kevin
.panfrost-t820-gles2:arm64:
- extends: .lava-test:arm64
- stage: panfrost
+ extends:
+ - .lava-test:arm64
+ - .panfrost-rules
variables:
DEVICE_TYPE: meson-gxm-khadas-vim2
GPU_VERSION: panfrost-t820
@@ -128,8 +133,9 @@ panfrost-t860-gles3:arm64:
.lima-mali400-test:armhf:
parallel: 2
- extends: .lava-test:armhf
- stage: misc-tests
+ extends:
+ - .lava-test:armhf
+ - .lima-rules
variables:
DEVICE_TYPE: sun8i-h3-libretech-all-h3-cc
GPU_VERSION: lima
@@ -138,8 +144,9 @@ panfrost-t860-gles3:arm64:
- lava-sun8i-h3-libretech-all-h3-cc
lima-mali450-test:arm64:
- extends: .lava-test:arm64
- stage: misc-tests
+ extends:
+ - .lava-test:arm64
+ - .lima-rules
variables:
DEVICE_TYPE: meson-gxl-s905x-libretech-cc
GPU_VERSION: lima
@@ -148,8 +155,9 @@ lima-mali450-test:arm64:
- lava-meson-gxl-s905x-libretech-cc
.freedreno-a307-gles2:
- extends: .lava-test:arm64
- stage: freedreno
+ extends:
+ - .lava-test:arm64
+ - .freedreno-rules
variables:
DEVICE_TYPE: apq8016-sbc
GPU_VERSION: freedreno-a307
diff --git a/.gitlab-ci/test-source-dep.yml b/.gitlab-ci/test-source-dep.yml
new file mode 100644
index 00000000000..a243ea99b6f
--- /dev/null
+++ b/.gitlab-ci/test-source-dep.yml
@@ -0,0 +1,118 @@
+# This file list source dependencies to avoid creating/running jobs
+# those outcome cannot be changed by the modifications from a branch.
+
+# Mesa core source file dependencies
+# ----------------------------------
+.mesa-rules:
+ rules:
+ - changes: &mesa_core_file_list
+ - .gitlab-ci.yml
+ - .gitlab-ci/**/*
+ - include/**/*
+ - meson.build
+ - SConstruct
+ - src/*
+ - src/compiler/**/*
+ - src/drm-shim/**/*
+ - src/egl/**/*
+ - src/gbm/**/*
+ - src/glx/**/*
+ - src/gtest/**/*
+ - src/hgl/**/*
+ - src/include/**/*
+ - src/loader/**/*
+ - src/mapi/**/*
+ - src/mesa/**/*
+ - src/util/**/*
+
+# Gallium core source file dependencies
+# -------------------------------------
+.gallium-rules:
+ rules:
+ - changes: &gallium_core_file_list
+ - src/gallium/*
+ - src/gallium/auxiliary/**/*
+ - src/gallium/drivers/*
+ - src/gallium/include/**/*
+ - src/gallium/state_trackers/**/*
+ - src/gallium/targets/**/*
+ - src/gallium/tests/**/*
+ - src/gallium/winsys/*
+
+.softpipe-rules:
+ stage: softpipe
+ rules:
+ - changes:
+ *mesa_core_file_list
+ when: on_success
+ - changes:
+ *gallium_core_file_list
+ when: on_success
+ - changes:
+ - src/gallium/drivers/softpipe/**/*
+ - src/gallium/winsys/sw/**/*
+ when: on_success
+ - when: never
+
+.llvmpipe-rules:
+ stage: llvmpipe
+ rules:
+ - changes:
+ *mesa_core_file_list
+ when: on_success
+ - changes:
+ *gallium_core_file_list
+ when: on_success
+ - changes:
+ - src/gallium/drivers/llvmpipe/**/*
+ - src/gallium/winsys/sw/**/*
+ when: on_success
+ - when: never
+
+.freedreno-rules:
+ stage: freedreno
+ rules:
+ - changes:
+ *mesa_core_file_list
+ when: on_success
+ - changes:
+ *gallium_core_file_list
+ when: on_success
+ - changes:
+ - src/freedreno/**/*
+ - src/gallium/drivers/freedreno/**/*
+ - src/gallium/winsys/freedreno/**/*
+ when: on_success
+ - when: never
+
+.panfrost-rules:
+ stage: panfrost
+ rules:
+ - changes:
+ *mesa_core_file_list
+ when: on_success
+ - changes:
+ *gallium_core_file_list
+ when: on_success
+ - changes:
+ - src/gallium/drivers/panfrost/**/*
+ - src/gallium/winsys/panfrost/**/*
+ - src/panfrost/**/*
+ when: on_success
+ - when: never
+
+.lima-rules:
+ stage: misc-tests
+ rules:
+ - changes:
+ *mesa_core_file_list
+ when: on_success
+ - changes:
+ *gallium_core_file_list
+ when: on_success
+ - changes:
+ - src/gallium/drivers/lima/**/*
+ - src/gallium/winsys/lima/**/*
+ - src/lima/**/*
+ when: on_success
+ - when: never