mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 07:20:10 +01:00
ci: Only run rustfmt when necessary
The rules we want here are pretty simple:
- only run rustfmt when Rust code changes, to the extent that we can
tell what has or hasn't changed (only really reliable for pre-merge)
- make rustfmt success mandatory for pre-merge, advisory for other
branches
Encode that, and make sure we don't run rustfmt when we don't need to.
Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35203>
This commit is contained in:
parent
a3efd8284a
commit
fe8bc3f23e
1 changed files with 14 additions and 7 deletions
|
|
@ -198,18 +198,25 @@
|
|||
rules:
|
||||
- !reference [.never-post-merge-rules, rules]
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes:
|
||||
# pre-merge: must succeed if changing Rust, skip if not
|
||||
- if: &is-merge-attempt $GITLAB_USER_LOGIN == "marge-bot" && $CI_PIPELINE_SOURCE == "merge_request_event"
|
||||
changes: &rustfmt_files
|
||||
- .gitlab-ci.yml
|
||||
- .gitlab-ci/**/*
|
||||
# in merge pipeline, formatting checks are not allowed to fail
|
||||
- if: $GITLAB_USER_LOGIN == "marge-bot" && $CI_PIPELINE_SOURCE == "merge_request_event"
|
||||
changes: &rust_file_list
|
||||
- src/**/*.rs
|
||||
when: on_success
|
||||
allow_failure: false
|
||||
# in other pipelines, formatting checks are allowed to fail
|
||||
- changes: *rust_file_list
|
||||
when: on_success
|
||||
- if: *is-merge-attempt
|
||||
when: never
|
||||
- if: &is-merge-request $CI_PIPELINE_SOURCE == "merge_request_event"
|
||||
changes:
|
||||
*rustfmt_files
|
||||
when: manual
|
||||
allow_failure: false
|
||||
- if: *is-merge-request
|
||||
when: never
|
||||
# non-pre-merge: run but only advisory
|
||||
- when: manual
|
||||
allow_failure: true
|
||||
|
||||
# Rules for .mr-label-maker.yml
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue