Use the correct conditions and merge method in Mergify (#3341)

* fix: Use the correct conditions and merge method

Mergifys Status Checks conditions are based on the job name, not the worflow name. As our worflows have dynamic names, each variant must be considered.

Squash merges are the default being used in the Zebra repo, so mergify must comply with this configuration.

Use condition operators for labels in each pull request rule; previously it was expecting both labels to be set. And update names accordingly.

* fix: Allow mergify to merge dependabot PRs

Also adapt dependabot's configuration to use the recently adapted labels

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
This commit is contained in:
Gustavo Valverde 2022-01-13 18:34:09 -05:00 committed by GitHub
parent 8887ed88aa
commit dc4533d368
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 45 additions and 26 deletions

View File

@ -9,7 +9,7 @@ updates:
labels:
- "A-dependencies"
- "A-rust"
- "P-Low"
- "P-Low :snowflake:"
ignore:
- dependency-name: tokio-util
versions:
@ -23,4 +23,4 @@ updates:
labels:
- "A-infrastructure"
- "A-dependencies"
- "P-Low"
- "P-Low :snowflake:"

67
.github/mergify.yml vendored
View File

@ -3,25 +3,31 @@ queue_rules:
speculative_checks: 2
batch_size: 2
conditions:
- check-success=CI
- check-success=Coverage
- check-success=pull-request
- check-success=Test (+stable) on ubuntu-latest
- check-success=Test (+stable) on macOS-latest
- check-success=Test (+stable) on windows-latest
- check-success=pull-request (zealous-zebra)
- check-success=Coverage (+nightly)
- name: medium
speculative_checks: 2
batch_size: 3
conditions:
- check-success=CI
- check-success=Coverage
- check-success=pull-request
- check-success=Test (+stable) on ubuntu-latest
- check-success=Test (+stable) on macOS-latest
- check-success=Test (+stable) on windows-latest
- check-success=pull-request (zealous-zebra)
- check-success=Coverage (+nightly)
- name: default
- name: low
speculative_checks: 2
batch_size: 4
conditions:
- check-success=CI
- check-success=Coverage
- check-success=pull-request
- check-success=Test (+stable) on ubuntu-latest
- check-success=Test (+stable) on macOS-latest
- check-success=Test (+stable) on windows-latest
- check-success=pull-request (zealous-zebra)
- check-success=Coverage (+nightly)
pull_request_rules:
- name: automatic update for PR marked as “Ready-to-Go“
@ -31,42 +37,55 @@ pull_request_rules:
actions:
update:
- name: move to critical queue when CI passes with 1 review and not WIP targeting main
- name: move to urgent queue when CI passes with 1 review and not WIP targeting main
conditions:
- "#approved-reviews-by>=1"
- -draft
- base=main
- check-success=CI
- check-success=Coverage
- "label~=^P-Critical"
- or:
- "label~=^P-Critical"
- "label~=^P-High"
- label!=do-not-merge
actions:
queue:
name: urgent
method: squash
- name: move to high queue when CI passes with 1 review and not WIP targeting main
- name: move to medium queue when CI passes with 1 review and not WIP targeting main
conditions:
- "#approved-reviews-by>=1"
- -draft
- base=main
- check-success=CI
- check-success=Coverage
- "label~=^P-High"
- "label~=^P-Medium"
- label!=do-not-merge
actions:
queue:
name: medium
method: squash
- name: move to default queue when CI passes with 1 review and not WIP targeting main
- name: move to low queue when CI passes with 1 review and not WIP targeting main
conditions:
- "#approved-reviews-by>=1"
- -draft
- base=main
- check-success=CI
- check-success=Coverage
- "-label~=^P-High"
- "-label~=^P-Critical"
- or:
- "-label~=^P-Low"
- "-label~=^P-Optional"
- label!=do-not-merge
actions:
queue:
name: default
name: low
method: squash
- name: automatic merge for Dependabot pull requests
conditions:
- "#approved-reviews-by>=1"
- author~=^dependabot(|-preview)\[bot\]$
- check-success=Test (+stable) on ubuntu-latest
- check-success=Test (+stable) on macOS-latest
- check-success=Test (+stable) on windows-latest
- check-success=pull-request (zealous-zebra)
- check-success=Coverage (+nightly)
actions:
merge:
method: squash