2019-06-23 09:10:39 -07:00
|
|
|
# https://doc.mergify.io/
|
2019-06-21 22:50:02 -07:00
|
|
|
pull_request_rules:
|
2021-06-10 12:28:37 -07:00
|
|
|
- name: label changes from community
|
|
|
|
conditions:
|
|
|
|
- author≠@core-contributors
|
2023-02-02 19:56:20 -08:00
|
|
|
- author≠@monorepo-maintainers
|
|
|
|
- author≠@monorepo-write
|
|
|
|
- author≠@monorepo-triage
|
2021-06-10 12:28:37 -07:00
|
|
|
- author≠mergify[bot]
|
|
|
|
- author≠dependabot[bot]
|
2022-06-13 22:10:21 -07:00
|
|
|
- author≠github-actions[bot]
|
2021-06-10 12:28:37 -07:00
|
|
|
actions:
|
|
|
|
label:
|
|
|
|
add:
|
|
|
|
- community
|
2023-02-02 19:56:20 -08:00
|
|
|
- need:merge-assist
|
2021-11-18 07:37:18 -08:00
|
|
|
- name: request review for community changes
|
|
|
|
conditions:
|
|
|
|
- author≠@core-contributors
|
2023-02-02 19:56:20 -08:00
|
|
|
- author≠@monorepo-maintainers
|
|
|
|
- author≠@monorepo-write
|
|
|
|
- author≠@monorepo-triage
|
2021-11-18 07:37:18 -08:00
|
|
|
- author≠mergify[bot]
|
|
|
|
- author≠dependabot[bot]
|
2022-06-13 22:10:21 -07:00
|
|
|
- author≠github-actions[bot]
|
2021-11-24 06:41:48 -08:00
|
|
|
# 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.
|
2022-04-12 21:47:25 -07:00
|
|
|
- "#approved-reviews-by=0"
|
|
|
|
- "#commented-reviews-by=0"
|
|
|
|
- "#changes-requested-reviews-by=0"
|
2022-04-12 20:24:30 -07:00
|
|
|
- "#review-requested=0"
|
2021-11-18 07:37:18 -08:00
|
|
|
actions:
|
2021-07-16 20:07:44 -07:00
|
|
|
request_reviews:
|
|
|
|
teams:
|
|
|
|
- "@solana-labs/community-pr-subscribers"
|
2023-02-02 19:56:20 -08:00
|
|
|
- name: label changes from monorepo-triage
|
|
|
|
conditions:
|
|
|
|
- author≠@core-contributors
|
|
|
|
- author≠mergify[bot]
|
|
|
|
- author≠dependabot[bot]
|
|
|
|
- author≠github-actions[bot]
|
|
|
|
- author≠@monorepo-maintainers
|
|
|
|
- author≠@monorepo-write
|
|
|
|
- author=@monorepo-triage
|
|
|
|
actions:
|
|
|
|
label:
|
|
|
|
add:
|
|
|
|
- need:merge-assist
|
2020-06-17 20:52:39 -07:00
|
|
|
- name: automatic merge (squash) on CI success
|
2020-06-15 08:20:05 -07:00
|
|
|
conditions:
|
2021-09-13 08:24:28 -07:00
|
|
|
- and:
|
|
|
|
- status-success=buildkite/solana
|
|
|
|
- status-success=ci-gate
|
|
|
|
- label=automerge
|
2022-04-14 09:29:40 -07:00
|
|
|
- label!=no-automerge
|
2022-05-05 21:14:50 -07:00
|
|
|
- or:
|
2022-05-04 20:31:01 -07:00
|
|
|
# only require docs checks if docs files changed
|
2022-05-05 21:14:50 -07:00
|
|
|
- -files~=^docs/
|
2022-12-06 05:41:34 -08:00
|
|
|
- status-success=build & deploy docs
|
2023-12-05 09:51:44 -08:00
|
|
|
- or:
|
2023-12-07 02:35:42 -08:00
|
|
|
- -files~=(\.rs|Cargo\.toml|Cargo\.lock|\.github/scripts/cargo-clippy-before-script\.sh|\.github/workflows/cargo\.yml)$
|
2023-12-21 11:28:41 -08:00
|
|
|
- and:
|
2024-01-11 07:51:57 -08:00
|
|
|
- or:
|
|
|
|
- check-success=clippy-stable (macos-latest)
|
|
|
|
- check-success=clippy-stable (macos-latest-large)
|
2024-01-10 09:26:20 -08:00
|
|
|
- or:
|
|
|
|
- check-success=clippy-nightly (macos-latest)
|
|
|
|
- check-success=clippy-nightly (macos-latest-large)
|
2023-12-05 21:39:28 -08:00
|
|
|
- or:
|
2023-12-07 02:35:54 -08:00
|
|
|
- -files~=(\.rs|Cargo\.toml|Cargo\.lock|cargo-build-bpf|cargo-test-bpf|cargo-build-sbf|cargo-test-sbf|ci/downstream-projects/run-spl\.sh|\.github/workflows/downstream-project-spl\.yml)$
|
2023-12-05 21:39:28 -08:00
|
|
|
- and:
|
|
|
|
- status-success=cargo-test-sbf (token/program)
|
|
|
|
- status-success=cargo-test-sbf (instruction-padding/program, token/program-2022, token/program-2022-test)
|
|
|
|
- status-success=cargo-test-sbf (associated-token-account/program, associated-token-account/program-test)
|
|
|
|
- status-success=cargo-test-sbf (token-upgrade/program)
|
|
|
|
- status-success=cargo-test-sbf (feature-proposal/program)
|
|
|
|
- status-success=cargo-test-sbf (governance/addin-mock/program, governance/program)
|
|
|
|
- status-success=cargo-test-sbf (memo/program)
|
|
|
|
- status-success=cargo-test-sbf (name-service/program)
|
|
|
|
- status-success=cargo-test-sbf (stake-pool/program)
|
|
|
|
- status-success=cargo-test-sbf (single-pool/program)
|
2020-06-15 08:20:05 -07:00
|
|
|
actions:
|
|
|
|
merge:
|
|
|
|
method: squash
|
|
|
|
- name: remove automerge label on CI failure
|
|
|
|
conditions:
|
2023-05-11 21:50:26 -07:00
|
|
|
- and:
|
|
|
|
- label=automerge
|
|
|
|
- "#status-failure!=0"
|
|
|
|
- -merged
|
2020-06-15 08:20:05 -07:00
|
|
|
actions:
|
|
|
|
label:
|
|
|
|
remove:
|
|
|
|
- automerge
|
|
|
|
comment:
|
2020-06-15 09:00:59 -07:00
|
|
|
message: automerge label removed due to a CI failure
|
2024-01-23 19:29:21 -08:00
|
|
|
- name: v1.17 feature-gate backport
|
2021-02-17 09:01:32 -08:00
|
|
|
conditions:
|
2024-01-23 19:29:21 -08:00
|
|
|
- label=v1.17
|
2022-03-31 23:41:55 -07:00
|
|
|
- label=feature-gate
|
2021-02-17 09:01:32 -08:00
|
|
|
actions:
|
|
|
|
backport:
|
2023-03-07 09:10:23 -08:00
|
|
|
assignees: &BackportAssignee
|
|
|
|
- "{{ merged_by|replace('mergify[bot]', label|select('equalto', 'community')|first|default(author)|replace('community', '@solana-labs/community-pr-subscribers')) }}"
|
2023-02-06 16:13:54 -08:00
|
|
|
title: "{{ destination_branch }}: {{ title }} (backport of #{{ number }})"
|
2021-02-17 09:01:32 -08:00
|
|
|
ignore_conflicts: true
|
2022-03-31 23:41:55 -07:00
|
|
|
labels:
|
|
|
|
- feature-gate
|
|
|
|
branches:
|
2024-01-23 19:29:21 -08:00
|
|
|
- v1.17
|
|
|
|
- name: v1.17 non-feature-gate backport
|
2022-03-31 23:41:55 -07:00
|
|
|
conditions:
|
2024-01-23 19:29:21 -08:00
|
|
|
- label=v1.17
|
2022-03-31 23:41:55 -07:00
|
|
|
- label!=feature-gate
|
|
|
|
actions:
|
|
|
|
backport:
|
2022-04-21 00:01:22 -07:00
|
|
|
assignees: *BackportAssignee
|
2023-02-06 16:13:54 -08:00
|
|
|
title: "{{ destination_branch }}: {{ title }} (backport of #{{ number }})"
|
2022-03-31 23:41:55 -07:00
|
|
|
ignore_conflicts: true
|
2021-02-17 09:01:32 -08:00
|
|
|
branches:
|
2024-01-23 19:29:21 -08:00
|
|
|
- v1.17
|
|
|
|
- name: v1.17 backport warning comment
|
2023-11-17 09:38:15 -08:00
|
|
|
conditions:
|
2024-01-23 19:29:21 -08:00
|
|
|
- label=v1.17
|
2023-11-17 09:38:15 -08:00
|
|
|
actions:
|
|
|
|
comment:
|
|
|
|
message: >
|
|
|
|
Backports to the stable branch are to be avoided unless absolutely
|
|
|
|
necessary for fixing bugs, security issues, and perf regressions.
|
|
|
|
Changes intended for backport should be structured such that a
|
|
|
|
minimum effective diff can be committed separately from any
|
|
|
|
refactoring, plumbing, cleanup, etc that are not strictly
|
|
|
|
necessary to achieve the goal. Any of the latter should go only
|
|
|
|
into master and ride the normal stabilization schedule.
|
2024-01-23 19:29:21 -08:00
|
|
|
- name: v1.18 feature-gate backport
|
2023-05-30 13:07:05 -07:00
|
|
|
conditions:
|
2024-01-23 19:29:21 -08:00
|
|
|
- label=v1.18
|
2023-05-30 13:07:05 -07:00
|
|
|
- label=feature-gate
|
|
|
|
actions:
|
|
|
|
backport:
|
|
|
|
assignees: *BackportAssignee
|
|
|
|
title: "{{ destination_branch }}: {{ title }} (backport of #{{ number }})"
|
|
|
|
ignore_conflicts: true
|
|
|
|
labels:
|
|
|
|
- feature-gate
|
|
|
|
branches:
|
2024-01-23 19:29:21 -08:00
|
|
|
- v1.18
|
|
|
|
- name: v1.18 non-feature-gate backport
|
2023-05-30 13:07:05 -07:00
|
|
|
conditions:
|
2024-01-23 19:29:21 -08:00
|
|
|
- label=v1.18
|
2023-05-30 13:07:05 -07:00
|
|
|
- label!=feature-gate
|
|
|
|
actions:
|
|
|
|
backport:
|
|
|
|
assignees: *BackportAssignee
|
|
|
|
title: "{{ destination_branch }}: {{ title }} (backport of #{{ number }})"
|
|
|
|
ignore_conflicts: true
|
|
|
|
branches:
|
2024-01-23 19:29:21 -08:00
|
|
|
- v1.18
|
|
|
|
- name: v1.18 backport warning comment
|
2023-11-17 09:38:15 -08:00
|
|
|
conditions:
|
2024-01-23 19:29:21 -08:00
|
|
|
- label=v1.18
|
2023-11-17 09:38:15 -08:00
|
|
|
actions:
|
|
|
|
comment:
|
|
|
|
message: >
|
|
|
|
Backports to the beta branch are to be avoided unless absolutely
|
|
|
|
necessary for fixing bugs, security issues, and perf regressions.
|
|
|
|
Changes intended for backport should be structured such that a
|
|
|
|
minimum effective diff can be committed separately from any
|
|
|
|
refactoring, plumbing, cleanup, etc that are not strictly
|
|
|
|
necessary to achieve the goal. Any of the latter should go only
|
|
|
|
into master and ride the normal stabilization schedule. Exceptions
|
|
|
|
include CI/metrics changes, CLI improvements and documentation
|
|
|
|
updates on a case by case basis.
|
2022-01-27 09:00:27 -08:00
|
|
|
|
|
|
|
commands_restrictions:
|
|
|
|
# The author of copied PRs is the Mergify user.
|
|
|
|
# Restrict `copy` access to Core Contributors
|
|
|
|
copy:
|
|
|
|
conditions:
|
|
|
|
- author=@core-contributors
|