From 8d66e3a15128752af2c0595c91a6ae4f21ce9129 Mon Sep 17 00:00:00 2001 From: Emma Anholt Date: Thu, 7 Jul 2022 11:17:13 -0700 Subject: [PATCH] ci: Fix non-freedreno performance jobs running during Marge merges. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I mistakenly applied .gl-rules to the non-freedreno perf jobs, which caused them to be incorrectly run pre-merge when core GL files changed. Pull the freedreno core GL performance job rules out, explain a bit more what is going on, and use it from iris and virgl performance testing. This also drops running freedreno performance when core vulkan files change -- freedreno perf testing doesn't have any turnip usage, nor does it watch for turnip file changes. Acked-by: Michel Dänzer Part-of: --- .gitlab-ci/test-source-dep.yml | 42 +++++++++++++++++----------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/.gitlab-ci/test-source-dep.yml b/.gitlab-ci/test-source-dep.yml index 6f18b4750ef..a0d6944cb20 100644 --- a/.gitlab-ci/test-source-dep.yml +++ b/.gitlab-ci/test-source-dep.yml @@ -195,12 +195,12 @@ when: never - !reference [.freedreno-rules, rules] -# Unfortunately YAML doesn't let us concatenate arrays, so we have to do the -# rules duplication manually -.freedreno-rules-performance: - stage: freedreno +# Rules for GL driver performance tracking. We want them to run as code is +# merged to main, but we don't want them to block marge. So, they need to have +# only when: never or when: manual, and a separate script maintained by +# Collabora triggers the manual job after merge to main. +.gl-rules-performance: rules: - - !reference [.freedreno-farm-rules, rules] - !reference [.no_scheduled_pipelines-rules, rules] # Run only on pre-merge pipelines from Marge - if: '$GITLAB_USER_LOGIN != "marge-bot" || $CI_COMMIT_BRANCH' @@ -211,9 +211,14 @@ - changes: *gallium_core_file_list when: manual - - changes: - *vulkan_file_list - when: manual + +# Unfortunately YAML doesn't let us concatenate arrays, so we have to do the +# rules duplication manually +.freedreno-rules-performance: + stage: freedreno + rules: + - !reference [.freedreno-farm-rules, rules] + - !reference [.gl-rules-performance, rules] - changes: *freedreno_core_file_list when: manual @@ -335,16 +340,14 @@ - src/gallium/winsys/virgl/**/* when: on_success -# Unfortunately YAML doesn't let us concatenate arrays, so we have to do the -# rules duplication manually +# Unfortunately we can't sed the on_success from another rules set, so we have +# to do duplicate the files lists to set the job to manual (see +# .gl-rules-performance) .virgl-iris-rules-performance: stage: layered-backends rules: - !reference [.collabora-farm-rules, rules] - # Run only on pre-merge pipelines from Marge - - if: '$GITLAB_USER_LOGIN != "marge-bot" || $CI_COMMIT_BRANCH' - when: never - - !reference [.gl-rules, rules] + - !reference [.gl-rules-performance, rules] - changes: *llvmpipe_file_list when: manual @@ -412,17 +415,14 @@ - src/intel/**/* when: on_success -# Unfortunately YAML doesn't let us concatenate arrays, so we have to do the -# rules duplication manually +# Unfortunately we can't sed the on_success from another rules set, so we have +# to do duplicate the files lists to set the job to manual (see +# .gl-rules-performance) .iris-rules-performance: stage: intel rules: - - !reference [.no_scheduled_pipelines-rules, rules] - !reference [.collabora-farm-rules, rules] - # Run only on pre-merge pipelines from Marge - - if: '$GITLAB_USER_LOGIN != "marge-bot" || $CI_COMMIT_BRANCH' - when: never - - !reference [.gl-rules, rules] + - !reference [.gl-rules-performance, rules] - changes: *iris_file_list when: manual