ci: Fix non-freedreno performance jobs running during Marge merges.

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 <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17386>
This commit is contained in:
Emma Anholt
2022-07-07 11:17:13 -07:00
committed by Marge Bot
parent 9fdefa6182
commit 8d66e3a151

View File

@@ -195,12 +195,12 @@
when: never when: never
- !reference [.freedreno-rules, rules] - !reference [.freedreno-rules, rules]
# Unfortunately YAML doesn't let us concatenate arrays, so we have to do the # Rules for GL driver performance tracking. We want them to run as code is
# rules duplication manually # merged to main, but we don't want them to block marge. So, they need to have
.freedreno-rules-performance: # only when: never or when: manual, and a separate script maintained by
stage: freedreno # Collabora triggers the manual job after merge to main.
.gl-rules-performance:
rules: rules:
- !reference [.freedreno-farm-rules, rules]
- !reference [.no_scheduled_pipelines-rules, rules] - !reference [.no_scheduled_pipelines-rules, rules]
# Run only on pre-merge pipelines from Marge # Run only on pre-merge pipelines from Marge
- if: '$GITLAB_USER_LOGIN != "marge-bot" || $CI_COMMIT_BRANCH' - if: '$GITLAB_USER_LOGIN != "marge-bot" || $CI_COMMIT_BRANCH'
@@ -211,9 +211,14 @@
- changes: - changes:
*gallium_core_file_list *gallium_core_file_list
when: manual when: manual
- changes:
*vulkan_file_list # Unfortunately YAML doesn't let us concatenate arrays, so we have to do the
when: manual # rules duplication manually
.freedreno-rules-performance:
stage: freedreno
rules:
- !reference [.freedreno-farm-rules, rules]
- !reference [.gl-rules-performance, rules]
- changes: - changes:
*freedreno_core_file_list *freedreno_core_file_list
when: manual when: manual
@@ -335,16 +340,14 @@
- src/gallium/winsys/virgl/**/* - src/gallium/winsys/virgl/**/*
when: on_success when: on_success
# Unfortunately YAML doesn't let us concatenate arrays, so we have to do the # Unfortunately we can't sed the on_success from another rules set, so we have
# rules duplication manually # to do duplicate the files lists to set the job to manual (see
# .gl-rules-performance)
.virgl-iris-rules-performance: .virgl-iris-rules-performance:
stage: layered-backends stage: layered-backends
rules: rules:
- !reference [.collabora-farm-rules, rules] - !reference [.collabora-farm-rules, rules]
# Run only on pre-merge pipelines from Marge - !reference [.gl-rules-performance, rules]
- if: '$GITLAB_USER_LOGIN != "marge-bot" || $CI_COMMIT_BRANCH'
when: never
- !reference [.gl-rules, rules]
- changes: - changes:
*llvmpipe_file_list *llvmpipe_file_list
when: manual when: manual
@@ -412,17 +415,14 @@
- src/intel/**/* - src/intel/**/*
when: on_success when: on_success
# Unfortunately YAML doesn't let us concatenate arrays, so we have to do the # Unfortunately we can't sed the on_success from another rules set, so we have
# rules duplication manually # to do duplicate the files lists to set the job to manual (see
# .gl-rules-performance)
.iris-rules-performance: .iris-rules-performance:
stage: intel stage: intel
rules: rules:
- !reference [.no_scheduled_pipelines-rules, rules]
- !reference [.collabora-farm-rules, rules] - !reference [.collabora-farm-rules, rules]
# Run only on pre-merge pipelines from Marge - !reference [.gl-rules-performance, rules]
- if: '$GITLAB_USER_LOGIN != "marge-bot" || $CI_COMMIT_BRANCH'
when: never
- !reference [.gl-rules, rules]
- changes: - changes:
*iris_file_list *iris_file_list
when: manual when: manual