blob: f92717408353a7f43e39847316e661af483a4484 [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 or 'WIP' in title"
19 status: pending
20 explanation: "PR is draft, pending review"
21 - if: "draft"
22 status: pending
23 explanation: "PR is draft, pending review"
Justin Wood4fa42112020-06-19 11:25:14 -070024
Justin Wood8839e4c2021-10-22 17:27:05 -070025 ############################################################
26 # License Checks
27 ############################################################
28 - if: "'*license/cla*' not in statuses.successful"
29 status: pending
30 explanation: "CLA must be agreed to by all contributors"
Justin Wood4fa42112020-06-19 11:25:14 -070031
32 ############################################################
33 # Conditions to Skip Review
34 ############################################################
Justin Wood8839e4c2021-10-22 17:27:05 -070035 - if: "base.ref != 'master'"
36 status: success
Justin Wood4fa42112020-06-19 11:25:14 -070037 explanation: "Review not required unless merging to master"
38
39 ############################################################
Justin Woode7c4cd32021-02-02 19:25:23 -080040 # Required status checks
41 ############################################################
Justin Woode4d37202022-08-09 14:01:16 -070042 - if: "'*restyle*' not in statuses.successful"
43 status: failure
44 explanation: "Style must be inline before reviewing can be complete"
Justin Woode7c4cd32021-02-02 19:25:23 -080045
Justin Wood8839e4c2021-10-22 17:27:05 -070046 ############################################################
Justin Woodb4505ac2022-09-07 13:29:32 -070047 # Require Issues
48 ############################################################
Justin Wood71bf8e62022-09-07 22:21:12 -070049# disabling until we have PRs up to date
50# - if: "'*issue*' not in statuses.successful"
51# status: failure
52# explanation: "An issue is required for all PRs"
Justin Woodb4505ac2022-09-07 13:29:32 -070053
54 ############################################################
Justin Wood8839e4c2021-10-22 17:27:05 -070055 # Fast tracking
56 ############################################################
57 - if: "'fast track' in labels"
58 status: success
59 explanation: "PR has been fast tracked, bypassing reviews"
60
Justin Wood4fa42112020-06-19 11:25:14 -070061############################################################
62# Notifications
63############################################################
64
65notifications:
66 ############################################################
67 # New contributors
68 ############################################################
69 - when: pull_request.opened
70 if: "author_association == 'FIRST_TIME_CONTRIBUTOR'"
71 comment: |
72 Hey @{{ author }}, thanks for the PR! The review will start once
73 the tests and CI checks have passed. If they don't, please review
74 the logs and try to fix the issues (ask for help if you can't
75 figure it out). A reviewer will be assigned once the tests are
76 passing and they'll walk you through getting the PR finished
77 and merged.
78
Justin Woodbc0bd6f2020-06-18 13:30:47 -070079groups:
80 ############################################################
Justin Wood61060a82020-07-21 10:31:53 -070081 # Shared Reviewer Groups
82 ############################################################
83 shared-reviewers-amazon:
84 type: optional
85 conditions:
86 - files.include('*')
87 reviewers:
88 teams: [reviewers-amazon]
Rob Walker856636e2020-09-25 14:27:04 -070089 reviews:
Justin Wood33799832021-09-15 17:57:46 -070090 request: 10
Justin Wood61060a82020-07-21 10:31:53 -070091 shared-reviewers-apple:
92 type: optional
93 conditions:
94 - files.include('*')
95 reviewers:
96 teams: [reviewers-apple]
Rob Walker856636e2020-09-25 14:27:04 -070097 reviews:
Justin Wood33799832021-09-15 17:57:46 -070098 request: 10
Justin Wood61060a82020-07-21 10:31:53 -070099 shared-reviewers-comcast:
100 type: optional
101 conditions:
102 - files.include('*')
103 reviewers:
104 teams: [reviewers-comcast]
Rob Walker856636e2020-09-25 14:27:04 -0700105 reviews:
Justin Wood33799832021-09-15 17:57:46 -0700106 request: 10
Justin Woodae2d16a2021-12-09 11:33:18 -0800107 shared-reviewers-espressif:
108 type: optional
109 conditions:
110 - files.include('*')
111 reviewers:
112 teams: [reviewers-espressif]
113 reviews:
114 request: 10
Justin Wood61060a82020-07-21 10:31:53 -0700115 shared-reviewers-google:
116 type: optional
117 conditions:
118 - files.include('*')
119 reviewers:
120 teams: [reviewers-google]
Rob Walker856636e2020-09-25 14:27:04 -0700121 reviews:
Justin Wood33799832021-09-15 17:57:46 -0700122 request: 10
Justin Woodae2d16a2021-12-09 11:33:18 -0800123 shared-reviewers-lg:
124 type: optional
125 conditions:
126 - files.include('*')
127 reviewers:
128 teams: [reviewers-lg]
129 reviews:
130 request: 10
Justin Wood4e87eb82021-03-09 14:52:30 -0800131 shared-reviewers-nordic:
132 type: optional
133 conditions:
134 - files.include('*')
135 reviewers:
136 teams: [reviewers-nordic]
137 reviews:
Justin Wood33799832021-09-15 17:57:46 -0700138 request: 10
Justin Wood61060a82020-07-21 10:31:53 -0700139 shared-reviewers-samsung:
140 type: optional
141 conditions:
142 - files.include('*')
143 reviewers:
144 teams: [reviewers-samsung]
Rob Walker856636e2020-09-25 14:27:04 -0700145 reviews:
Justin Wood33799832021-09-15 17:57:46 -0700146 request: 10
Boris Zbarsky805cf4a2023-03-10 18:59:14 -0500147 # shared-reviewers-signify disabled for now, because the reviewers-signify
148 # team is empty and pullapprove seems to mis-handle that badly and treats
149 # _all_ reviewers as being in this group.
150 #
151 # See https://github.com/dropseed/pullapprove/issues/71
152 #
153 # shared-reviewers-signify:
154 # type: optional
155 # conditions:
156 # - files.include('*')
157 # reviewers:
158 # teams: [reviewers-signify]
159 # reviews:
160 # request: 10
Justin Wood4e87eb82021-03-09 14:52:30 -0800161 shared-reviewers-silabs:
162 type: optional
163 conditions:
164 - files.include('*')
165 reviewers:
166 teams: [reviewers-silabs]
167 reviews:
Justin Wood33799832021-09-15 17:57:46 -0700168 request: 10
Andrei Litvin5b657d12023-01-19 09:31:11 -0500169 shared-reviewers-somfy:
170 type: optional
171 conditions:
172 - files.include('*')
173 reviewers:
174 teams: [reviewers-somfy]
175 reviews:
176 request: 10
Justin Woodae2d16a2021-12-09 11:33:18 -0800177 shared-reviewers-tcl:
178 type: optional
179 conditions:
180 - files.include('*')
181 reviewers:
182 teams: [reviewers-tcl]
183 reviews:
Andrei Litvine1cb26c2023-01-18 11:12:09 -0500184 request: 10
Justin Wood61060a82020-07-21 10:31:53 -0700185
186 ############################################################
Justin Woodbc0bd6f2020-06-18 13:30:47 -0700187 # Base Required Reviewers
188 ############################################################
189 required-reviewers:
Justin Woodb02d5172020-06-19 12:00:56 -0700190 description: >
191 [Required
192 Reviewers](https://github.com/project-chip/connectedhomeip/blob/master/CONTRIBUTING.md#review-requirements)
Justin Wooda2c0c6f2020-06-19 12:03:41 -0700193 This is the main group of required reviews for general pull
194 requests.
Justin Woodbc0bd6f2020-06-18 13:30:47 -0700195 type: required
Justin Wood61060a82020-07-21 10:31:53 -0700196 requirements:
Justin Wood566402a2022-02-07 12:20:23 -0800197 - len(groups.approved.include('shared-reviewers-*')) >= 2
Justin Woodbc0bd6f2020-06-18 13:30:47 -0700198 reviews:
Justin Wood61060a82020-07-21 10:31:53 -0700199 required: 0
Justin Wood2d579dd2021-05-17 18:18:33 -0700200 labels:
201 approved: "review - approved"
202 pending: "review - pending"
203 rejected: "review - changed requested"