summaryrefslogtreecommitdiffstats
path: root/.gitlab-ci
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 /.gitlab-ci
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>
Diffstat (limited to '.gitlab-ci')
-rw-r--r--.gitlab-ci/lava-gitlab-ci.yml40
-rw-r--r--.gitlab-ci/test-source-dep.yml118
2 files changed, 142 insertions, 16 deletions
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