Add mergify merging queues (#3324)

* Add mergify merging queues

* Fix Mergify invalid configuration

* Improve adaptability to the actual workflow

Do not merge if the pull-request test is not green. Do not move draft PRs to the queue. And update keep all open PRs updated.

* Fix a typo on check-success condition
This commit is contained in:
Gustavo Valverde 2022-01-07 19:11:01 -05:00 committed by GitHub
parent 4c310c0671
commit fc1a1cdac1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 72 additions and 0 deletions

72
.github/mergify.yml vendored Normal file
View File

@ -0,0 +1,72 @@
queue_rules:
- name: urgent
speculative_checks: 2
batch_size: 2
conditions:
- check-success=CI
- check-success=Coverage
- check-success=pull-request
- name: medium
speculative_checks: 2
batch_size: 3
conditions:
- check-success=CI
- check-success=Coverage
- check-success=pull-request
- name: default
speculative_checks: 2
batch_size: 4
conditions:
- check-success=CI
- check-success=Coverage
- check-success=pull-request
pull_request_rules:
- name: automatic update for PR marked as “Ready-to-Go“
conditions:
- -conflict # skip PRs with conflicts
- -draft # filter-out GH draft PRs
actions:
update:
- name: move to critical 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"
- label!=do-not-merge
actions:
queue:
name: urgent
- name: move to high 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!=do-not-merge
actions:
queue:
name: medium
- name: move to default 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"
- label!=do-not-merge
actions:
queue:
name: default