89 lines
2.7 KiB
YAML
89 lines
2.7 KiB
YAML
queue_rules:
|
|
- name: hotfix
|
|
# 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
|
|
allow_inplace_checks: True
|
|
allow_checks_interruption: False
|
|
speculative_checks: 1
|
|
batch_size: 8
|
|
# Wait a short time to embark hotfixes together in a merge train
|
|
batch_max_wait_time: "2 minutes"
|
|
conditions:
|
|
# Mergify automatically applies status check, approval, and conversation rules,
|
|
# which are the same as the GitHub main branch protection rules
|
|
# https://docs.mergify.com/conditions/#about-branch-protection
|
|
- base=main
|
|
|
|
- name: high
|
|
allow_inplace_checks: True
|
|
allow_checks_interruption: True
|
|
speculative_checks: 1
|
|
batch_size: 20
|
|
# Wait for a few minutes to embark high priority tickets together in a merge train
|
|
batch_max_wait_time: "10 minutes"
|
|
conditions:
|
|
- base=main
|
|
|
|
- name: low
|
|
allow_inplace_checks: True
|
|
allow_checks_interruption: True
|
|
speculative_checks: 1
|
|
batch_size: 20
|
|
# Wait a bit longer to embark low priority tickets together in a merge train
|
|
batch_max_wait_time: "20 minutes"
|
|
conditions:
|
|
- base=main
|
|
|
|
pull_request_rules:
|
|
- name: move to hotfix queue when CI passes with 1 review and not WIP targeting main
|
|
conditions:
|
|
# This queue handles a PR if:
|
|
# - it targets main
|
|
# - is not in draft
|
|
# - does not include the do-not-merge label
|
|
# - is labeled with Critical priority
|
|
- base=main
|
|
- -draft
|
|
- label!=do-not-merge
|
|
- 'label~=^P-Critical'
|
|
actions:
|
|
queue:
|
|
name: hotfix
|
|
method: squash
|
|
|
|
- name: move to high queue when CI passes with 1 review and not WIP targeting main
|
|
conditions:
|
|
# This queue handles a PR if:
|
|
# - it targets main
|
|
# - is not in draft
|
|
# - does not include the do-not-merge label
|
|
# - is labeled with High or Medium priority
|
|
- base=main
|
|
- -draft
|
|
- label!=do-not-merge
|
|
- or:
|
|
- 'label~=^P-High'
|
|
- 'label~=^P-Medium'
|
|
actions:
|
|
queue:
|
|
name: high
|
|
method: squash
|
|
|
|
- name: move to low queue when CI passes with 1 review and not WIP targeting main
|
|
conditions:
|
|
# We don't need to check priority labels here, because the rules are evaluated in order:
|
|
# https://docs.mergify.com/configuration/#pull-request-rules
|
|
#
|
|
# This queue handles a PR if:
|
|
# - it targets main
|
|
# - is not in draft
|
|
# - is labeled with Low or Optional priority, or does not have a priority label,
|
|
# including automated dependabot PRs.
|
|
- base=main
|
|
- -draft
|
|
- label!=do-not-merge
|
|
actions:
|
|
queue:
|
|
name: low
|
|
method: squash
|