From 1d5740f8ec3dbce4affd261871f78c6875ddc9ff Mon Sep 17 00:00:00 2001 From: Deirdre Connolly Date: Tue, 14 Jun 2022 20:28:31 -0400 Subject: [PATCH] ci(Mergify): configuration update Signed-off-by: Deirdre Connolly --- .mergify.yml | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 .mergify.yml diff --git a/.mergify.yml b/.mergify.yml new file mode 100644 index 0000000..c01839d --- /dev/null +++ b/.mergify.yml @@ -0,0 +1,88 @@ +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: 5 + # 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: 5 + # Wait for a few minutes to embark high priority tickets together in a merge train + batch_max_wait_time: "5 minutes" + conditions: + - base=main + + - name: low + allow_inplace_checks: True + allow_checks_interruption: True + speculative_checks: 1 + batch_size: 5 + # Wait a bit longer to embark low priority tickets together in a merge train + batch_max_wait_time: "10 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 \ No newline at end of file