blob: 8c7a7d14db8ed5222f8f6cff90b2c92311f77619 [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 Wood8839e4c2021-10-22 17:27:05 -070042 - if: "'*restyle*' not in statuses.successful"
43 status: failure
Justin Woode7c4cd32021-02-02 19:25:23 -080044 explanation: "Style must be inline before reviewing can be complete"
45
Justin Wood8839e4c2021-10-22 17:27:05 -070046 ############################################################
47 # Fast tracking
48 ############################################################
49 - if: "'fast track' in labels"
50 status: success
51 explanation: "PR has been fast tracked, bypassing reviews"
52
Justin Wood4fa42112020-06-19 11:25:14 -070053############################################################
54# Notifications
55############################################################
56
57notifications:
58 ############################################################
59 # New contributors
60 ############################################################
61 - when: pull_request.opened
62 if: "author_association == 'FIRST_TIME_CONTRIBUTOR'"
63 comment: |
64 Hey @{{ author }}, thanks for the PR! The review will start once
65 the tests and CI checks have passed. If they don't, please review
66 the logs and try to fix the issues (ask for help if you can't
67 figure it out). A reviewer will be assigned once the tests are
68 passing and they'll walk you through getting the PR finished
69 and merged.
70
Justin Woodbc0bd6f2020-06-18 13:30:47 -070071groups:
72 ############################################################
Justin Wood61060a82020-07-21 10:31:53 -070073 # Shared Reviewer Groups
74 ############################################################
75 shared-reviewers-amazon:
76 type: optional
77 conditions:
78 - files.include('*')
79 reviewers:
80 teams: [reviewers-amazon]
Rob Walker856636e2020-09-25 14:27:04 -070081 reviews:
Justin Wood33799832021-09-15 17:57:46 -070082 request: 10
Justin Wood61060a82020-07-21 10:31:53 -070083 shared-reviewers-apple:
84 type: optional
85 conditions:
86 - files.include('*')
87 reviewers:
88 teams: [reviewers-apple]
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-comcast:
92 type: optional
93 conditions:
94 - files.include('*')
95 reviewers:
96 teams: [reviewers-comcast]
Rob Walker856636e2020-09-25 14:27:04 -070097 reviews:
Justin Wood33799832021-09-15 17:57:46 -070098 request: 10
Justin Wood8839e4c2021-10-22 17:27:05 -070099 # shared-reviewers-espressif:
100 # type: optional
101 # conditions:
102 # - files.include('*')
103 # reviewers:
104 # teams: [reviewers-espressif]
105 # reviews:
106 # request: 10
Justin Wood61060a82020-07-21 10:31:53 -0700107 shared-reviewers-google:
108 type: optional
109 conditions:
110 - files.include('*')
111 reviewers:
112 teams: [reviewers-google]
Rob Walker856636e2020-09-25 14:27:04 -0700113 reviews:
Justin Wood33799832021-09-15 17:57:46 -0700114 request: 10
Justin Wood8839e4c2021-10-22 17:27:05 -0700115 # shared-reviewers-lg:
116 # type: optional
117 # conditions:
118 # - files.include('*')
119 # reviewers:
120 # teams: [reviewers-lg]
121 # reviews:
122 # request: 10
Justin Wood4e87eb82021-03-09 14:52:30 -0800123 shared-reviewers-nordic:
124 type: optional
125 conditions:
126 - files.include('*')
127 reviewers:
128 teams: [reviewers-nordic]
129 reviews:
Justin Wood33799832021-09-15 17:57:46 -0700130 request: 10
Justin Wood61060a82020-07-21 10:31:53 -0700131 shared-reviewers-samsung:
132 type: optional
133 conditions:
134 - files.include('*')
135 reviewers:
136 teams: [reviewers-samsung]
Rob Walker856636e2020-09-25 14:27:04 -0700137 reviews:
Justin Wood33799832021-09-15 17:57:46 -0700138 request: 10
Justin Wood4e87eb82021-03-09 14:52:30 -0800139 shared-reviewers-silabs:
140 type: optional
141 conditions:
142 - files.include('*')
143 reviewers:
144 teams: [reviewers-silabs]
145 reviews:
Justin Wood33799832021-09-15 17:57:46 -0700146 request: 10
Justin Wood2addf002021-09-10 08:33:23 -0700147# shared-reviewers-tcl:
148# type: optional
149# conditions:
150# - files.include('*')
151# reviewers:
152# teams: [reviewers-tcl]
153# reviews:
154# request: 1
Justin Wood61060a82020-07-21 10:31:53 -0700155
156 ############################################################
Justin Woodbc0bd6f2020-06-18 13:30:47 -0700157 # Base Required Reviewers
158 ############################################################
159 required-reviewers:
Justin Woodb02d5172020-06-19 12:00:56 -0700160 description: >
161 [Required
162 Reviewers](https://github.com/project-chip/connectedhomeip/blob/master/CONTRIBUTING.md#review-requirements)
Justin Wooda2c0c6f2020-06-19 12:03:41 -0700163 This is the main group of required reviews for general pull
164 requests.
Justin Woodbc0bd6f2020-06-18 13:30:47 -0700165 type: required
Justin Wood61060a82020-07-21 10:31:53 -0700166 requirements:
167 - len(groups.approved.include('shared-reviewers-*')) >= 3
Justin Woodbc0bd6f2020-06-18 13:30:47 -0700168 reviews:
Justin Wood61060a82020-07-21 10:31:53 -0700169 required: 0
Justin Wood2d579dd2021-05-17 18:18:33 -0700170 labels:
171 approved: "review - approved"
172 pending: "review - pending"
173 rejected: "review - changed requested"