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