pull_request_rules: # implementing PR delay logic: apply a label after 2 days of inactivity # the label will allow Mergify to merge (see #8442, #8448) - actions: label: add: - merge delay passed name: Wait for 2 days before validating merge conditions: - updated-at<2 days ago - or: - label=merge me - label=squash+merge me - '#approved-reviews-by>=2' # rebase+merge strategy - actions: queue: name: default # Merge into master with a merge commit method: merge # Update the pr branch with rebase, so the history is clean update_method: rebase name: Put pull requests in the rebase+merge queue conditions: - base=master - label=merge me - label=merge delay passed - '#approved-reviews-by>=2' # merge+squash strategy - actions: queue: name: default method: squash # both update methods get absorbed by the squash, so we use the most # reliable update_method: merge name: Put pull requests in the squash+merge queue conditions: - base=master - label=squash+merge me - label=merge delay passed - '#approved-reviews-by>=2' # rebase+merge strategy for backports: require 1 approver instead of 2 - actions: queue: name: default # Merge with a merge commit method: merge # Update the pr branch with rebase, so the history is clean update_method: rebase name: Put backports in the rebase+merge queue conditions: - label=merge me - base!=master - body~=backport - label=merge delay passed - '#approved-reviews-by>=1' # merge+squash strategy for backports: require 1 approver instead of 2 - actions: queue: name: default method: squash # both update methods get absorbed by the squash, so we use the most # reliable update_method: merge name: Put pull requests in the squash+merge queue conditions: - label=merge me - base!=master - body~=backport - label=merge delay passed - '#approved-reviews-by>=1' # backports should be labeled as such - actions: label: add: - backport name: Label backports as such conditions: - body~=automatic backport queue_rules: - name: default conditions: []