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