Skip to content

Commit dd123e6

Browse files
implement mergify rules for release branches (#10135)
* implement mergify rules for release branches We only handled the case of backports previously, but the current release checklist expects that we can commit PRs to release branches during a release (e.g. changelogs, because we want the list of changelog.d files that are actually part of the release). * block merging if PR has a 'blocked:' label * update backports strategy for #10260 --------- Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
1 parent 8ffea4e commit dd123e6

File tree

1 file changed

+34
-2
lines changed

1 file changed

+34
-2
lines changed

.github/mergify.yml

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# Note: We do not use the rebase strategy to merge PRs, because that
2+
# loses information needed by changelog-d to associate commits with PRs.
3+
14
pull_request_rules:
25

36
# implementing PR delay logic: apply a label after 2 days of inactivity
@@ -25,6 +28,7 @@ pull_request_rules:
2528
- label=merge me
2629
- label=merge delay passed
2730
- '#approved-reviews-by>=2'
31+
- '-label~=^blocked:'
2832

2933
# merge+squash strategy
3034
- actions:
@@ -36,6 +40,7 @@ pull_request_rules:
3640
- label=squash+merge me
3741
- label=merge delay passed
3842
- '#approved-reviews-by>=2'
43+
- '-label~=^blocked:'
3944

4045
# merge+no rebase strategy
4146
- actions:
@@ -47,18 +52,43 @@ pull_request_rules:
4752
- label=merge+no rebase
4853
- label=merge delay passed
4954
- '#approved-reviews-by>=2'
55+
- '-label~=^blocked:'
56+
57+
# merge strategy for release branches
58+
- actions:
59+
queue:
60+
name: default
61+
name: Put release branch pull requests in the rebase+merge queue
62+
conditions:
63+
- label=merge me
64+
- base!=master
65+
- -body~=backport
66+
- '#approved-reviews-by>=2'
67+
- '-label~=^blocked:'
5068

51-
# rebase+merge strategy for backports: require 1 approver instead of 2
69+
# merge+squash strategy for release branches
70+
- actions:
71+
queue:
72+
name: squash-merge
73+
name: Put release branch pull requests in the squash+merge queue
74+
conditions:
75+
- base!=master
76+
- label=squash+merge me
77+
- -body~=backport
78+
- '#approved-reviews-by>=2'
79+
- '-label~=^blocked:'
80+
81+
# merge strategy for backports: require 1 approver instead of 2
5282
- actions:
5383
queue:
5484
name: default
55-
# Merge with a merge commit
5685
name: Put backports in the rebase+merge queue
5786
conditions:
5887
- label=merge me
5988
- base!=master
6089
- body~=backport
6190
- '#approved-reviews-by>=1'
91+
- '-label~=^blocked:'
6292

6393
# merge+squash strategy for backports: require 1 approver instead of 2
6494
- actions:
@@ -70,6 +100,7 @@ pull_request_rules:
70100
- base!=master
71101
- body~=backport
72102
- '#approved-reviews-by>=1'
103+
- '-label~=^blocked:'
73104

74105
# backports should be labeled as such
75106
- actions:
@@ -86,6 +117,7 @@ queue_rules:
86117
update_bot_account: Mikolaj
87118
merge_method: merge
88119
update_method: rebase
120+
89121
- name: squash-merge
90122
update_bot_account: Mikolaj
91123
merge_method: squash

0 commit comments

Comments
 (0)