From 2a9d6fdd8c5a94b574e241f9cad5662cbaef54b2 Mon Sep 17 00:00:00 2001 From: Pierre-Eric Pelloux-Prayer Date: Wed, 30 Oct 2019 20:39:08 +0100 Subject: gitlab-ci: rules:changes to test on tested drivers changes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Michel Dänzer Tested-by: Marge Bot Part-of: --- .gitlab-ci/lava-gitlab-ci.yml | 40 ++++++++------ .gitlab-ci/test-source-dep.yml | 118 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 142 insertions(+), 16 deletions(-) create mode 100644 .gitlab-ci/test-source-dep.yml (limited to '.gitlab-ci') 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 -- cgit v1.2.3