From dc4533d368cabf56eca866583d87509e509e790f Mon Sep 17 00:00:00 2001 From: Gustavo Valverde Date: Thu, 13 Jan 2022 18:34:09 -0500 Subject: [PATCH] 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> --- .github/dependabot.yml | 4 +-- .github/mergify.yml | 67 +++++++++++++++++++++++++++--------------- 2 files changed, 45 insertions(+), 26 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 07a7153c..50422f65 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -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:" diff --git a/.github/mergify.yml b/.github/mergify.yml index 72be96ea..77f83d32 100644 --- a/.github/mergify.yml +++ b/.github/mergify.yml @@ -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 \ No newline at end of file