refactor(queue)!: improve mergify merge throughput (#4094)
* refactor(ci)!: rename queues and reassign labels * imp(ci:) allow a bigger throughput for merge trains * imp(ci): allow mergify to interrupt queues that are not a hotfix * imp(ci): add a bigger timeout before creating speculative checks * Update .github/mergify.yml Co-authored-by: teor <teor@riseup.net> * Update .github/mergify.yml Co-authored-by: teor <teor@riseup.net> * Apply suggestions from code review Co-authored-by: teor <teor@riseup.net> Co-authored-by: teor <teor@riseup.net>
This commit is contained in:
parent
53a42999ef
commit
970f06d332
|
|
@ -1,54 +1,60 @@
|
||||||
queue_rules:
|
queue_rules:
|
||||||
- name: urgent
|
- name: hotfix
|
||||||
allow_inplace_checks: False
|
allow_inplace_checks: False
|
||||||
allow_checks_interruption: False
|
allow_checks_interruption: False
|
||||||
speculative_checks: 2
|
speculative_checks: 1
|
||||||
batch_size: 2
|
batch_size: 5
|
||||||
|
# Just wait 2 minutes to embark hotfixes together in a merge train
|
||||||
|
batch_max_wait_time: 120
|
||||||
conditions:
|
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: medium
|
- name: high
|
||||||
allow_inplace_checks: False
|
allow_inplace_checks: False
|
||||||
allow_checks_interruption: False
|
allow_checks_interruption: True
|
||||||
speculative_checks: 2
|
speculative_checks: 1
|
||||||
batch_size: 3
|
batch_size: 5
|
||||||
|
# Wait 10 minutes to embark high priority tickets together in a merge train
|
||||||
|
batch_max_wait_time: 300
|
||||||
conditions:
|
conditions:
|
||||||
- base=main
|
- base=main
|
||||||
|
|
||||||
- name: low
|
- name: low
|
||||||
allow_inplace_checks: False
|
allow_inplace_checks: False
|
||||||
allow_checks_interruption: False
|
allow_checks_interruption: True
|
||||||
speculative_checks: 2
|
speculative_checks: 1
|
||||||
batch_size: 4
|
batch_size: 5
|
||||||
|
# Wait 10 minutes to embark low priority tickets together in a merge train
|
||||||
|
batch_max_wait_time: 300
|
||||||
conditions:
|
conditions:
|
||||||
- base=main
|
- base=main
|
||||||
|
|
||||||
pull_request_rules:
|
pull_request_rules:
|
||||||
- name: move to urgent queue when CI passes with 1 review and not WIP targeting main
|
- name: move to hotfix queue when CI passes with 1 review and not WIP targeting main
|
||||||
|
conditions:
|
||||||
|
- 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:
|
conditions:
|
||||||
- base=main
|
- base=main
|
||||||
- -draft
|
- -draft
|
||||||
- label!=do-not-merge
|
- label!=do-not-merge
|
||||||
- or:
|
- or:
|
||||||
- 'label~=^P-Critical'
|
|
||||||
- 'label~=^P-High'
|
- 'label~=^P-High'
|
||||||
actions:
|
|
||||||
queue:
|
|
||||||
name: urgent
|
|
||||||
method: squash
|
|
||||||
|
|
||||||
- name: move to medium queue when CI passes with 1 review and not WIP targeting main
|
|
||||||
conditions:
|
|
||||||
- base=main
|
|
||||||
- -draft
|
|
||||||
- label!=do-not-merge
|
|
||||||
- 'label~=^P-Medium'
|
- 'label~=^P-Medium'
|
||||||
actions:
|
actions:
|
||||||
queue:
|
queue:
|
||||||
name: medium
|
name: high
|
||||||
method: squash
|
method: squash
|
||||||
|
|
||||||
- name: move to low 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
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue