# 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] - author≠github-actions[bot] actions: label: add: - community - name: request review for community changes conditions: - author≠@core-contributors - author≠mergify[bot] - author≠dependabot[bot] - author≠github-actions[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" - "#review-requested=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 - label!=no-automerge - or: # only require docs checks if docs files changed - -files~=^docs/ - status-success=build & deploy 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 - 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: v1.13 feature-gate backport conditions: - label=v1.13 - label=feature-gate actions: backport: assignees: &BackportAssignee - "{{ merged_by|replace('mergify[bot]', label|select('equalto', 'community')|first|default(author)|replace('community', '@solana-labs/community-pr-s ubscribers')) }}" ignore_conflicts: true labels: - feature-gate branches: - v1.13 - name: v1.13 non-feature-gate backport conditions: - label=v1.13 - label!=feature-gate actions: backport: assignees: *BackportAssignee ignore_conflicts: true branches: - v1.13 - name: v1.14 feature-gate backport conditions: - label=v1.14 - label=feature-gate actions: backport: assignees: *BackportAssignee ignore_conflicts: true labels: - feature-gate branches: - v1.14 - name: v1.14 non-feature-gate backport conditions: - label=v1.14 - label!=feature-gate actions: backport: assignees: *BackportAssignee ignore_conflicts: true branches: - v1.14 commands_restrictions: # The author of copied PRs is the Mergify user. # Restrict `copy` access to Core Contributors copy: conditions: - author=@core-contributors