ref(mergify): use the the configuration format and keys (#9018)

This commit is contained in:
Gustavo Valverde 2024-11-14 12:03:51 +00:00 committed by GitHub
parent 4eb285de50
commit ac90773331
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 32 additions and 35 deletions

67
.github/mergify.yml vendored
View File

@ -3,34 +3,42 @@
# This file can be edited and validated using: # This file can be edited and validated using:
# https://dashboard.mergify.com/github/ZcashFoundation/repo/zebra/config-editor # https://dashboard.mergify.com/github/ZcashFoundation/repo/zebra/config-editor
queue_rules: # Provides a means to set configuration values that act as fallbacks
- name: urgent # for queue_rules and pull_request_rules
defaults:
actions:
squash:
# TODO: Adapt our PR template to use title+body
commit_message: all-commits
queue_rule:
# Allow to update/rebase the original pull request if possible to check its mergeability, # Allow to update/rebase the original pull request if possible to check its mergeability,
# and it does not create a draft PR if not needed # and it does not create a draft PR if not needed
allow_inplace_checks: True allow_inplace_checks: True
allow_checks_interruption: False
speculative_checks: 1 speculative_checks: 1
batch_size: 8 batch_size: 20
# Wait a short time to embark hotfixes together in a merge train # Wait for about 10% of the time it takes Rust PRs to run CI (~1h)
batch_max_wait_time: "2 minutes" batch_max_wait_time: "10 minutes"
conditions: queue_conditions:
# Mergify automatically applies status check, approval, and conversation rules, # Mergify automatically applies status check, approval, and conversation rules,
# which are the same as the GitHub main branch protection rules # which are the same as the GitHub main branch protection rules
# https://docs.mergify.com/conditions/#about-branch-protection # https://docs.mergify.com/conditions/#about-branch-protection
- base=main - base=main
- name: batched # Allows to define the rules that reign over our merge queues
allow_inplace_checks: True queue_rules:
allow_checks_interruption: True - name: urgent
speculative_checks: 1 batch_size: 8
batch_size: 20 # Wait a short time to embark hotfixes together in a merge train
# Wait for about 10% of the time it takes Rust PRs to run CI (3h) batch_max_wait_time: "2 minutes"
batch_max_wait_time: "20 minutes"
conditions:
- base=main
- name: batched
# Rules that will determine which priority a pull request has when entering
# our merge queue
#
# These rules are checked in order, the first one to be satisfied applies # These rules are checked in order, the first one to be satisfied applies
pull_request_rules: priority_rules:
- name: move to urgent queue when CI passes with multiple reviews - name: move to urgent queue when CI passes with multiple reviews
conditions: conditions:
# This queue handles a PR if it: # This queue handles a PR if it:
@ -45,10 +53,8 @@ pull_request_rules:
- -draft - -draft
# does not include the do-not-merge label # does not include the do-not-merge label
- label!=do-not-merge - label!=do-not-merge
actions: allow_checks_interruption: true
queue: priority: high
name: urgent
method: squash
- name: move to urgent queue when CI passes with 1 review - name: move to urgent queue when CI passes with 1 review
conditions: conditions:
@ -62,12 +68,9 @@ pull_request_rules:
- base=main - base=main
- -draft - -draft
- label!=do-not-merge - label!=do-not-merge
actions: priority: high
queue:
name: urgent
method: squash
- name: move to batched queue when CI passes with multiple reviews - name: move to medium queue when CI passes with multiple reviews
conditions: conditions:
# This queue handles a PR if it: # This queue handles a PR if it:
# has multiple approving reviewers # has multiple approving reviewers
@ -77,12 +80,9 @@ pull_request_rules:
- base=main - base=main
- -draft - -draft
- label!=do-not-merge - label!=do-not-merge
actions: priority: medium
queue:
name: batched
method: squash
- name: move to batched queue when CI passes with 1 review - name: move to low queue when CI passes with 1 review
conditions: conditions:
# This queue handles a PR if it: # This queue handles a PR if it:
# has at least one approving reviewer (branch protection rule) # has at least one approving reviewer (branch protection rule)
@ -93,7 +93,4 @@ pull_request_rules:
- base=main - base=main
- -draft - -draft
- label!=do-not-merge - label!=do-not-merge
actions: priority: low
queue:
name: batched
method: squash