Skip to content
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
170 changes: 86 additions & 84 deletions .mergify.yml
Original file line number Diff line number Diff line change
@@ -1,94 +1,96 @@
pull_request_rules:
- name: Auto-approve and merge dependabot PRs
conditions:
- base = main
- author = dependabot[bot]
- -draft
- label != do-not-merge
- -files~=\.github/workflows/release\.yml
- check-success = DCO
- check-success = quality
- check-success = test-features (default)
- check-success = test-features (minimal)
- check-success = test-cross-platform (ubuntu-latest, Linux)
- check-success = test-cross-platform (macos-latest, macOS)
- check-success = test-cross-platform (windows-latest, Windows)
- check-success = coverage
actions:
review:
type: APPROVE
message: Automatically approved by Mergify
merge:
method: squash
- name: Auto-approve and merge dependabot PRs
conditions:
- base = main
- author = dependabot[bot]
- -draft
- label != do-not-merge
- -files~=\.github/workflows/release\.yml
- check-success = DCO
- check-success = quality
- check-success = test-features (default)
- check-success = test-features (minimal)
- check-success = test-cross-platform (ubuntu-latest, Linux)
- check-success = test-cross-platform (macos-latest, macOS)
- check-success = test-cross-platform (windows-latest, Windows)
- check-success = coverage
actions:
review:
type: APPROVE
message: Automatically approved by Mergify
merge:
method: squash

- name: Auto-approve and merge dosubot PRs
conditions:
- base = main
- author = dosubot[bot]
- -draft
- label != do-not-merge
- check-success = DCO
- check-success = quality
- check-success = test-features (default)
- check-success = test-features (minimal)
- check-success = test-cross-platform (ubuntu-latest, Linux)
- check-success = test-cross-platform (macos-latest, macOS)
- check-success = test-cross-platform (windows-latest, Windows)
- check-success = coverage
actions:
review:
type: APPROVE
message: Automatically approved by Mergify
merge:
method: squash
- name: Auto-approve and merge dosubot PRs
conditions:
- base = main
- author = dosubot[bot]
- -draft
- label != do-not-merge
- check-success = DCO
- check-success = quality
- check-success = test-features (default)
- check-success = test-features (minimal)
- check-success = test-cross-platform (ubuntu-latest, Linux)
- check-success = test-cross-platform (macos-latest, macOS)
- check-success = test-cross-platform (windows-latest, Windows)
- check-success = coverage
actions:
review:
type: APPROVE
message: Automatically approved by Mergify
merge:
method: squash

# CI checks intentionally omitted: release-plz only bumps versions/changelogs
# (code already tested on main), and GITHUB_TOKEN force-pushes suppress CI.
# Quality gates are enforced via merge_protections for all other PRs.
- name: Auto-merge release-plz PRs
conditions:
- base = main
- head ~= ^release-plz-
- -draft
- label != do-not-merge
- check-success = DCO
actions:
merge:
method: squash
- name: Auto-merge release-plz PRs
conditions:
- base = main
- head ~= ^release-plz-
- -draft
- label != do-not-merge
- check-success = DCO
actions:
merge:
method: squash

- name: Keep bot PRs up to date with main
conditions:
- base = main
- -conflict
- -draft
- or:
- author = dependabot[bot]
- author = dosubot[bot]
- head ~= ^release-plz-
actions:
update: {}
- name: Keep bot PRs up to date with main
conditions:
- base = main
- -conflict
- -draft
- or:
- author = dependabot[bot]
- author = dosubot[bot]
- head ~= ^release-plz-
actions:
update: {}

merge_protections:
- name: CI must pass
description: >-
All CI checks must pass. Release-plz PRs are exempt because
they only bump versions and changelogs (code was already tested
on main), and GITHUB_TOKEN-triggered force-pushes suppress CI.
if:
- base = main
- "-head ~= ^release-plz-"
success_conditions:
- check-success = quality
- check-success = test-features (default)
- check-success = test-features (minimal)
- check-success = test-cross-platform (ubuntu-latest, Linux)
- check-success = test-cross-platform (macos-latest, macOS)
- check-success = test-cross-platform (windows-latest, Windows)
- check-success = coverage
- name: CI must pass
description: >-
All CI checks must pass. Release-plz PRs are exempt because
they only bump versions and changelogs (code was already tested
on main), and GITHUB_TOKEN-triggered force-pushes suppress CI.
if:
- base = main
- "-head ~= ^release-plz-"
success_conditions:
- check-success = quality
- check-success = test-features (default)
- check-success = test-features (minimal)
- check-success = test-cross-platform (ubuntu-latest, Linux)
- check-success = test-cross-platform (macos-latest, macOS)
- check-success = test-cross-platform (windows-latest, Windows)
- check-success = coverage

- name: Do not merge outdated PRs
description: Make sure PRs are within 3 commits of the base branch before merging
if:
- base = main
success_conditions:
- "#commits-behind <= 3"
- name: Do not merge outdated PRs
description: Make sure PRs are within 3 commits of the base branch before merging
if:
- base = main
success_conditions:
- "#commits-behind <= 3"
merge_protections_settings:
reporting_method: check-runs
Loading