blob: 5be3f21a28a32732c25880876100013153dd86a1 [file] [log] [blame]
Justin Woodbc0bd6f2020-06-18 13:30:47 -07001version: 3
2
Justin Woodf7b88a12020-06-19 11:56:57 -07003# https://developer.github.com/v3/previews/#draft-pull-requests
Justin Wood4fa42112020-06-19 11:25:14 -07004github_api_version: "shadow-cat-preview"
5
6############################################################
Justin Wood8839e4c2021-10-22 17:27:05 -07007# Overrides
Justin Wood4fa42112020-06-19 11:25:14 -07008############################################################
9
Justin Wood8839e4c2021-10-22 17:27:05 -070010overrides:
11 - if: "'hotfix' in labels"
12 status: success
13 explanation: "Hotfix label added, bypassing reviews"
Justin Wood06747fd2020-07-01 11:36:15 -070014
15 ############################################################
Justin Wood4fa42112020-06-19 11:25:14 -070016 # Draft PRs
17 ############################################################
Justin Wood8839e4c2021-10-22 17:27:05 -070018 - if: "draft"
19 status: pending
20 explanation: "PR is draft, pending review"
Justin Wood4fa42112020-06-19 11:25:14 -070021
Justin Wood8839e4c2021-10-22 17:27:05 -070022 ############################################################
23 # License Checks
24 ############################################################
25 - if: "'*license/cla*' not in statuses.successful"
26 status: pending
27 explanation: "CLA must be agreed to by all contributors"
Justin Wood4fa42112020-06-19 11:25:14 -070028
29 ############################################################
30 # Conditions to Skip Review
31 ############################################################
Justin Wood8839e4c2021-10-22 17:27:05 -070032 - if: "base.ref != 'master'"
33 status: success
Justin Wood4fa42112020-06-19 11:25:14 -070034 explanation: "Review not required unless merging to master"
35
36 ############################################################
Justin Woode7c4cd32021-02-02 19:25:23 -080037 # Required status checks
38 ############################################################
Justin Woode4d37202022-08-09 14:01:16 -070039 - if: "'*restyle*' not in statuses.successful"
40 status: failure
41 explanation: "Style must be inline before reviewing can be complete"
Justin Woode7c4cd32021-02-02 19:25:23 -080042
Justin Wood8839e4c2021-10-22 17:27:05 -070043 ############################################################
Justin Woodb4505ac2022-09-07 13:29:32 -070044 # Require Issues
45 ############################################################
Justin Wooda93c7c92023-07-07 14:24:31 -070046 # disabling until we have PRs up to date
47 # - if: "'*issue*' not in statuses.successful"
48 # status: failure
49 # explanation: "An issue is required for all PRs"
Justin Woodb4505ac2022-09-07 13:29:32 -070050
51 ############################################################
Justin Wood8839e4c2021-10-22 17:27:05 -070052 # Fast tracking
53 ############################################################
54 - if: "'fast track' in labels"
55 status: success
56 explanation: "PR has been fast tracked, bypassing reviews"
57
Justin Wood4fa42112020-06-19 11:25:14 -070058############################################################
59# Notifications
60############################################################
61
62notifications:
63 ############################################################
64 # New contributors
65 ############################################################
66 - when: pull_request.opened
67 if: "author_association == 'FIRST_TIME_CONTRIBUTOR'"
68 comment: |
69 Hey @{{ author }}, thanks for the PR! The review will start once
70 the tests and CI checks have passed. If they don't, please review
71 the logs and try to fix the issues (ask for help if you can't
72 figure it out). A reviewer will be assigned once the tests are
73 passing and they'll walk you through getting the PR finished
74 and merged.
75
Justin Woodbc0bd6f2020-06-18 13:30:47 -070076groups:
77 ############################################################
Justin Wood61060a82020-07-21 10:31:53 -070078 # Shared Reviewer Groups
79 ############################################################
80 shared-reviewers-amazon:
81 type: optional
82 conditions:
83 - files.include('*')
84 reviewers:
85 teams: [reviewers-amazon]
Rob Walker856636e2020-09-25 14:27:04 -070086 reviews:
Justin Wood33799832021-09-15 17:57:46 -070087 request: 10
Justin Wood61060a82020-07-21 10:31:53 -070088 shared-reviewers-apple:
89 type: optional
90 conditions:
91 - files.include('*')
92 reviewers:
93 teams: [reviewers-apple]
Rob Walker856636e2020-09-25 14:27:04 -070094 reviews:
Justin Wood33799832021-09-15 17:57:46 -070095 request: 10
Justin Wooda93c7c92023-07-07 14:24:31 -070096 shared-reviewers-bosch:
97 type: optional
98 conditions:
99 - files.include('*')
100 reviewers:
101 teams: [reviewers-bosch]
102 reviews:
103 request: 10
Justin Wood61060a82020-07-21 10:31:53 -0700104 shared-reviewers-comcast:
105 type: optional
106 conditions:
107 - files.include('*')
108 reviewers:
109 teams: [reviewers-comcast]
Rob Walker856636e2020-09-25 14:27:04 -0700110 reviews:
Justin Wood33799832021-09-15 17:57:46 -0700111 request: 10
Justin Wooda93c7c92023-07-07 14:24:31 -0700112 shared-reviewers-dyson:
113 type: optional
114 conditions:
115 - files.include('*')
116 reviewers:
117 teams: [reviewers-dyson]
118 reviews:
119 request: 10
Justin Woodae2d16a2021-12-09 11:33:18 -0800120 shared-reviewers-espressif:
121 type: optional
122 conditions:
123 - files.include('*')
124 reviewers:
125 teams: [reviewers-espressif]
126 reviews:
127 request: 10
Justin Wood61060a82020-07-21 10:31:53 -0700128 shared-reviewers-google:
129 type: optional
130 conditions:
131 - files.include('*')
132 reviewers:
133 teams: [reviewers-google]
Rob Walker856636e2020-09-25 14:27:04 -0700134 reviews:
Justin Wood33799832021-09-15 17:57:46 -0700135 request: 10
Andrei Litvine1d746a2024-06-18 11:29:22 -0400136 shared-reviewers-grundfos:
137 type: optional
138 conditions:
139 - files.include('*')
140 reviewers:
141 teams: [reviewers-grundfos]
142 reviews:
143 request: 10
Justin Wooda93c7c92023-07-07 14:24:31 -0700144 shared-reviewers-irobot:
145 type: optional
146 conditions:
147 - files.include('*')
148 reviewers:
149 teams: [reviewers-irobot]
150 reviews:
151 request: 10
Justin Woodae2d16a2021-12-09 11:33:18 -0800152 shared-reviewers-lg:
153 type: optional
154 conditions:
155 - files.include('*')
156 reviewers:
157 teams: [reviewers-lg]
158 reviews:
159 request: 10
Justin Wood9e225ac2023-07-20 17:21:36 -0700160 shared-reviewers-logitech:
161 type: optional
162 conditions:
163 - files.include('*')
164 reviewers:
165 teams: [reviewers-logitech]
166 reviews:
Justin Wood6f2f5862023-07-21 09:06:23 -0700167 request: 0 # Requested to be only on demand
Justin Wood4e87eb82021-03-09 14:52:30 -0800168 shared-reviewers-nordic:
169 type: optional
170 conditions:
171 - files.include('*')
172 reviewers:
173 teams: [reviewers-nordic]
174 reviews:
Justin Wood33799832021-09-15 17:57:46 -0700175 request: 10
Andrei Litvin4ef104b2024-07-02 20:04:43 -0400176 shared-reviewers-nxp:
177 type: optional
178 conditions:
179 - files.include('*')
180 reviewers:
181 teams: [reviewers-nxp]
182 reviews:
183 request: 10
Justin Wood61060a82020-07-21 10:31:53 -0700184 shared-reviewers-samsung:
185 type: optional
186 conditions:
187 - files.include('*')
188 reviewers:
189 teams: [reviewers-samsung]
Rob Walker856636e2020-09-25 14:27:04 -0700190 reviews:
Justin Wood33799832021-09-15 17:57:46 -0700191 request: 10
Justin Wood5570be92024-05-01 08:18:15 -0700192 shared-reviewers-eve:
193 type: optional
194 conditions:
195 - files.include('*')
196 reviewers:
197 teams: [reviewers-eve]
198 reviews:
199 request: 10
Boris Zbarsky805cf4a2023-03-10 18:59:14 -0500200 # shared-reviewers-signify disabled for now, because the reviewers-signify
201 # team is empty and pullapprove seems to mis-handle that badly and treats
202 # _all_ reviewers as being in this group.
203 #
204 # See https://github.com/dropseed/pullapprove/issues/71
205 #
206 # shared-reviewers-signify:
207 # type: optional
208 # conditions:
209 # - files.include('*')
210 # reviewers:
211 # teams: [reviewers-signify]
212 # reviews:
213 # request: 10
Justin Wood4e87eb82021-03-09 14:52:30 -0800214 shared-reviewers-silabs:
215 type: optional
216 conditions:
217 - files.include('*')
218 reviewers:
219 teams: [reviewers-silabs]
220 reviews:
Justin Wood33799832021-09-15 17:57:46 -0700221 request: 10
Andrei Litvin5b657d12023-01-19 09:31:11 -0500222 shared-reviewers-somfy:
223 type: optional
224 conditions:
225 - files.include('*')
226 reviewers:
227 teams: [reviewers-somfy]
228 reviews:
229 request: 10
Justin Woodae2d16a2021-12-09 11:33:18 -0800230 shared-reviewers-tcl:
231 type: optional
232 conditions:
233 - files.include('*')
234 reviewers:
235 teams: [reviewers-tcl]
236 reviews:
Andrei Litvine1cb26c2023-01-18 11:12:09 -0500237 request: 10
Justin Wooda93c7c92023-07-07 14:24:31 -0700238 shared-reviewers-qorvo:
239 type: optional
240 conditions:
241 - files.include('*')
242 reviewers:
243 teams: [reviewers-qorvo]
244 reviews:
245 request: 10
Justin Wood61060a82020-07-21 10:31:53 -0700246
247 ############################################################
Justin Woodbc0bd6f2020-06-18 13:30:47 -0700248 # Base Required Reviewers
249 ############################################################
250 required-reviewers:
Justin Woodb02d5172020-06-19 12:00:56 -0700251 description: >
252 [Required
253 Reviewers](https://github.com/project-chip/connectedhomeip/blob/master/CONTRIBUTING.md#review-requirements)
Justin Wooda2c0c6f2020-06-19 12:03:41 -0700254 This is the main group of required reviews for general pull
255 requests.
Justin Woodbc0bd6f2020-06-18 13:30:47 -0700256 type: required
Justin Wood61060a82020-07-21 10:31:53 -0700257 requirements:
Justin Wood566402a2022-02-07 12:20:23 -0800258 - len(groups.approved.include('shared-reviewers-*')) >= 2
Justin Woodbc0bd6f2020-06-18 13:30:47 -0700259 reviews:
Justin Wood61060a82020-07-21 10:31:53 -0700260 required: 0
Justin Wood2d579dd2021-05-17 18:18:33 -0700261 labels:
262 approved: "review - approved"
263 pending: "review - pending"
264 rejected: "review - changed requested"