pull_request_rules: - name: Automatic merge on approval conditions: - base=master # number of review approvals - "#approved-reviews-by>=3" # no waiting or assigned review - "#review-requested=0" # no requested chnages from any reviewer - "#changes-requested-reviews-by=0" # this serves as ALL check has to pass as we have actually 27 tests in total - "#status-success>=27" # this is just in case since we rely on GPU tests (note: redundand to the above) - status-success=continuous-integration/drone/pr # this is patter-like, unofrunatly serves as `any(...)` (note: redundand to the above) - "status-success~=^ci/circleci:" # no conflict with master branch - -conflict # was not closed yet - -closed actions: delete_head_branch: {} merge: # https://doc.mergify.io/merge-action.html#strict-merge # (on head branch) $ git merge --no-ff base # (on head branch) # Wait for CI to go green # (on head branch) # Squash all commits # (on base branch) $ git merge --ff head strict: true method: squash comment: message: Great job! =) - name: warn on conflicts conditions: - conflict actions: comment: message: This pull request is now in conflict... :( - name: add core reviewer conditions: # number of review approvals - "#approved-reviews-by<3" actions: request_reviews: teams: - core-contributors