123 lines
3.5 KiB
YAML
123 lines
3.5 KiB
YAML
# Validate your changes with:
|
|
#
|
|
# $ curl -F 'data=@.mergify.yml' https://gh.mergify.io/validate/
|
|
#
|
|
# https://doc.mergify.io/
|
|
pull_request_rules:
|
|
- name: label changes from community
|
|
conditions:
|
|
- author≠@core-contributors
|
|
- author≠mergify[bot]
|
|
- author≠dependabot[bot]
|
|
actions:
|
|
label:
|
|
add:
|
|
- community
|
|
- name: request review for community changes
|
|
conditions:
|
|
- author≠@core-contributors
|
|
- author≠mergify[bot]
|
|
- author≠dependabot[bot]
|
|
# Only request reviews from the pr subscribers group if no one
|
|
# has reviewed the community PR yet. These checks only match
|
|
# reviewers with admin, write or maintain permission on the repository.
|
|
- "#approved-reviews-by=0"
|
|
- "#commented-reviews-by=0"
|
|
- "#changes-requested-reviews-by=0"
|
|
actions:
|
|
request_reviews:
|
|
teams:
|
|
- "@solana-labs/community-pr-subscribers"
|
|
- name: automatic merge (squash) on CI success
|
|
conditions:
|
|
- and:
|
|
- status-success=buildkite/solana
|
|
- status-success=ci-gate
|
|
- label=automerge
|
|
- author≠@dont-squash-my-commits
|
|
- or:
|
|
# only require travis success if docs files changed
|
|
- status-success=Travis CI - Pull Request
|
|
- -files~=^docs/
|
|
- or:
|
|
# only require explorer checks if explorer files changed
|
|
- status-success=check-explorer
|
|
- -files~=^explorer/
|
|
- or:
|
|
- and:
|
|
- status-success=all-web3-checks
|
|
- status-success=web3-commit-lint
|
|
# only require web3 checks if web3.js files changed
|
|
- -files~=^web3.js/
|
|
actions:
|
|
merge:
|
|
method: squash
|
|
# Join the dont-squash-my-commits group if you won't like your commits squashed
|
|
- name: automatic merge (rebase) on CI success
|
|
conditions:
|
|
- and:
|
|
- status-success=buildkite/solana
|
|
- status-success=Travis CI - Pull Request
|
|
- status-success=ci-gate
|
|
- label=automerge
|
|
- author=@dont-squash-my-commits
|
|
- or:
|
|
# only require explorer checks if explorer files changed
|
|
- status-success=check-explorer
|
|
- -files~=^explorer/
|
|
- or:
|
|
# only require web3 checks if web3.js files changed
|
|
- status-success=all-web3-checks
|
|
- -files~=^web3.js/
|
|
actions:
|
|
merge:
|
|
method: rebase
|
|
- name: remove automerge label on CI failure
|
|
conditions:
|
|
- label=automerge
|
|
- "#status-failure!=0"
|
|
actions:
|
|
label:
|
|
remove:
|
|
- automerge
|
|
comment:
|
|
message: automerge label removed due to a CI failure
|
|
- name: remove outdated reviews
|
|
conditions:
|
|
- base=master
|
|
actions:
|
|
dismiss_reviews:
|
|
changes_requested: true
|
|
- name: set automerge label on mergify backport PRs
|
|
conditions:
|
|
- author=mergify[bot]
|
|
- head~=^mergify/bp/
|
|
- "#status-failure=0"
|
|
actions:
|
|
label:
|
|
add:
|
|
- automerge
|
|
- name: v1.9 backport
|
|
conditions:
|
|
- label=v1.9
|
|
actions:
|
|
backport:
|
|
ignore_conflicts: true
|
|
branches:
|
|
- v1.9
|
|
- name: v1.10 backport
|
|
conditions:
|
|
- label=v1.10
|
|
actions:
|
|
backport:
|
|
ignore_conflicts: true
|
|
branches:
|
|
- v1.10
|
|
|
|
commands_restrictions:
|
|
# The author of copied PRs is the Mergify user.
|
|
# Restrict `copy` access to Core Contributors
|
|
copy:
|
|
conditions:
|
|
- author=@core-contributors
|