diff options
author | Pierre-Eric Pelloux-Prayer <[email protected]> | 2019-10-30 20:39:08 +0100 |
---|---|---|
committer | Pierre-Eric Pelloux-Prayer <[email protected]> | 2020-03-09 16:31:55 +0100 |
commit | 2a9d6fdd8c5a94b574e241f9cad5662cbaef54b2 (patch) | |
tree | 66a1fb8a77d5a67b947d15dbea6c841facfa8f46 | |
parent | 61fb17e8d74b9b38f54780483157682fe9d3e312 (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.yml | 22 | ||||
-rw-r--r-- | .gitlab-ci/lava-gitlab-ci.yml | 40 | ||||
-rw-r--r-- | .gitlab-ci/test-source-dep.yml | 118 |
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 |