Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci(mergify): upgrade configuration to current format #6487

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 18 additions & 34 deletions .mergify.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,20 @@
queue_rules:
- name: default
conditions:
queue_conditions:
- "#approved-reviews-by>=1"
- "#changes-requested-reviews-by=0"
- base=main
- label=checkin-needed
- check-success=Decision Task
- check-success=run-tests
- check-success=ios-test-and-artifacts
- check-success=clippy
- check-success=check-formatting
- "#check-success>=5"
- "#check-pending=0"
- "#check-stale=0"
- "#check-failure=0"
merge_conditions:
# Conditions to get out of the queue (= merged)
- check-success=Decision Task
- check-success=run-tests
Expand All @@ -9,6 +23,8 @@ queue_rules:
- "#check-pending=0"
- "#check-stale=0"
- "#check-failure=0"
merge_method: rebase

pull_request_rules:
- name: remove outdated reviews for non-core authors
conditions:
Expand All @@ -23,38 +39,6 @@ pull_request_rules:
remove:
- checkin-needed
- name: automatic merge for main
conditions:
- "#approved-reviews-by>=1"
- "#changes-requested-reviews-by=0"
- base=main
- label=checkin-needed
# What we want to say here is "all checks passed", but that's not a concept
# that makes sense in GitHub:
#
# https://docs.mergify.io/conditions/#validating-all-status-checks
#
# But we don't want to just list out all the checks, because we have many of
# them and some of them are added dynamically and we might add or remove checks
# without updating the list here.
#
# So instead we insist that a small set of known checks has completed,
# and also that there are no other checks in unexpected states.
- check-success=Decision Task
- check-success=run-tests
- check-success=ios-test-and-artifacts
- check-success=clippy
- check-success=check-formatting
- "#check-success>=5" # we should always have at least this many checks
- "#check-pending=0"
- "#check-stale=0"
- "#check-failure=0"
conditions: []
actions:
# This merges by rebasing without strict merge, which means that mergify will *attempt*
# to rebase a matching PR directly on to the `main` branch, even if the PR is out of date.
# However, our GitHub branch protection rules require that PRs must be up-to-date before merging,
# and mergify respects these rules, so the expected behaviour here is that mergify will only
# merge when it can cleanly put the exact commits of the PR directly on top of `main`
# (and thus avoid having to re-write any commits or create merge commits of its own).
queue:
method: rebase
name: default