-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy path.mergify.yml
142 lines (140 loc) · 4.79 KB
/
.mergify.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
pull_request_rules:
- name: Automatic squash and merge when CI passes and reviews approve
conditions:
- or:
- base=main
- base~=^release\/v
- check-success=DCO
- check-success=Shellcheck
- check-success=Lint
- check-success=Codegen
- check-success=Go build
- check-success=Mocks
- check-success=Chart checks
- check-success=Go test
- check-success=Scan images for security vulnerabilities
- check-success=Integration Test with Tresor, SMI traffic policies, and egress disabled
- check-success=Go mesh test e2e (1, ubuntu-22.04)
- check-success=Go mesh test e2e (2, ubuntu-22.04)
- check-success=Go mesh test e2e (3, ubuntu-22.04)
- check-success=Go mesh test e2e (4, ubuntu-22.04)
- check-success=Go mesh test e2e (5, ubuntu-22.04)
- check-success=Go mesh test e2e (v1.19.16-k3s1, Test traffic flowing from client to server with a Kubernetes Ser...
- check-success=Go mesh test e2e (v1.27.16-k3s1, Test traffic flowing from client to server with a Kubernetes Ser...
- check-success=Go gateway test e2e (6, latest, ubuntu-22.04)
- check-success=Go gateway test e2e (6, v1.19.16-k3s1, ubuntu-20.04)
- check-success=Go gateway test e2e (6, v1.21.14-k3s1, ubuntu-22.04)
- check-success=Go gateway test e2e (6, v1.23.17-k3s1, ubuntu-22.04)
- check-success=Go gateway test e2e (7, latest, ubuntu-22.04)
- check-success=Go gateway test e2e (7, v1.19.16-k3s1, ubuntu-20.04)
- check-success=Go statefulset test e2e (8)
- check-success=Go retry test e2e (9)
- check-success=Go ingress test e2e (10)
- "#approved-reviews-by >= 1"
- or:
- and:
- label=ok-to-merge
- label=squash
- label=ok-to-squash
- -label=wip
- -label=do-not-merge/hold
actions:
merge:
method: squash
- name: Backport features/patches to the release/v1.4 branch
conditions:
- base=main
- label = backport/v1.4
actions:
backport:
branches:
- "release/v1.4"
title: "[backport] {{ title }} (#{{ number }})"
assignees:
- "{{ author }}"
- name: Backport features/patches to the release/v1.3 branch
conditions:
- base=main
- label = backport/v1.3
actions:
backport:
branches:
- "release/v1.3"
title: "[backport] {{ title }} (#{{ number }})"
assignees:
- "{{ author }}"
- name: Backport features/patches to the release/v1.2 branch
conditions:
- base=main
- label = backport/v1.2
actions:
backport:
branches:
- "release/v1.2"
title: "[backport] {{ title }} (#{{ number }})"
assignees:
- "{{ author }}"
- name: Cherry-pick patches from release/v* to the main branch
conditions:
- base~=^release\/v
- label = cherry-pick/main
actions:
backport:
branches:
- main
title: "[cherry-pick] {{ title }} (#{{ number }})"
assignees:
- "{{ author }}"
- name: Ping PR author when conflicting and Label conflicting pull requests
description: Warn the pull request author when their PR are conflicting, and add a label to a pull request with conflict to spot it easily
conditions:
- conflict
- -closed
actions:
comment:
message: >
👋 {{author}} your PR is conflicting and needs to be updated to be merged
label:
toggle:
- conflicts
- name: Comment when a pull request has unverified commits
conditions:
- -closed
- "#commits-unverified > 0"
actions:
comment:
message: |
❗❗❗
All commits in this PR must be signed off.
Please sign all commits by:
```shell
git rebase HEAD~{{ commits | length }} --signoff
git push --force-with-lease origin {{ head }}
```
merge_protections:
- name: Enforce conventional commit
description: Make sure that we follow https://www.conventionalcommits.org/en/v1.0.0/
if:
- or:
- base=main
- base~=^release\/v
success_conditions:
- "title ~= ^(\\[wip\\]|\\[backport\\]|\\[cherry-pick\\])?(
)?(fix|feat|docs|style|refactor|perf|test|build|ci|chore|revert)(?:\\(.+\
\\))?:"
- name: Enforce verified commits
description: Make sure that we have verified commits
if:
- or:
- base=main
- base~=^release\/v
success_conditions:
- "#commits-unverified = 0"
- name: Enforce linear history
description: Make sure that we have a linear history, no merge commits are allowed
if:
- or:
- base=main
- base~=^release\/v
success_conditions:
- "linear-history"