forked from GoogleChrome/developer.chrome.com
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.pullapprove.yml
133 lines (128 loc) · 4.31 KB
/
.pullapprove.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
version: 3
# Global conditions that apply to all pull requests.
# https://docs.pullapprove.com/config/pullapprove-conditions/
pullapprove_conditions:
# Don't tag in any reviewers if the PR is work in progress.
- condition: '"WIP" not in title'
unmet_status: pending
explanation: 'Work in progress'
- condition: 'not draft'
unmet_status: pending
explanation: 'Draft PR'
groups:
# Extensions
#
# Handles any changes related to Chrome extensions, Chrome Web Store, and
# Chrome Apps. At least one team member must approve PR in order for it to be
# merged.
#
# By default Simeon (@dotproto) is the only pereson that will be automatically
# added; Joe (@jpmedley) will only be automatically added if Simeon authored
# the PR. Any memeber of dcc-extensions, dcc-content, or dcc-approvers team
# can also approve PRs.
extensions:
reviewers:
users:
# Technical reviewers
- dotproto
# Content reviewers
- jpmedley
teams:
# Prefix a username or team with ~ to include them in the reviewer pool
# but skip them when sending review requests.
- ~dcc-extensions
- ~dcc-content
- ~dcc-eng
- ~dcc-approvers
reviews:
# Add reviewers to PRs in the order specified in the configuration.
request_order: given
# Minimum number of reviewers that must approve a PR.
required: 1
# Review requests will be sent to as many people as are still `required` to approve.
request: -1
conditions:
- >
files.include('site/en/docs/apps/*') or
files.include('site/en/docs/extensions/*') or
files.include('site/en/docs/webstore/*') or
files.include('site/_data/docs/apps/*') or
files.include('site/_data/docs/extensions/*') or
files.include('site/_data/docs/webstore/*') or
files.include('site/_data/i18n/docs/apps.yml') or
files.include('site/_data/i18n/docs/extensions.yml') or
files.include('site/_data/i18n/docs/webstore.yml')
# DevTools
# Handles any changes related to devtools.
# By default Jecelyn will be tagged in as a reviewer, but anyone
# on the dcc-devtools, dcc-content, dcc-eng, or dcc-approvers teams can
# approve PRs.
devtools:
reviewers:
users:
- chybie
teams:
# Prefix a username or team with ~ to include them in the reviewer pool
# but skip them when sending review requests.
- ~dcc-devtools
- ~dcc-content
- ~dcc-eng
- ~dcc-approvers
reviews:
# Assign all possible reviewers
request: 99
conditions:
- '"reviewers: devtools" in labels'
- >
files.include('site/en/docs/devtools/*') or
files.include('site/_data/docs/devtools/*') or
files.include('site/_data/i18n/docs/devtools.yml') or
files.include('site/_includes/partials/devtools/*') or
files.include('site/en/blog/*').exclude('site/en/blog/blog.11tydata.js')
# Content
# Handles any changes related to site content.
content:
reviewers:
teams:
- ~dcc-content
- ~dcc-eng
- ~dcc-approvers
reviews:
# Assign everyone on the content team for reviews.
request: 99
conditions:
# Only tag the content team if the review has not been handled by
# one of the prior teams.
- 'len(groups.active) == 0'
- >
files.include('site/en/*') or
files.include('redirects.yaml') or
files.include('site/_data/docs/*') or
files.include('site/_data/i18n/*') or
files.include('site/_data/authorsData.json')
# Code
# Handles any changes to programmatic files.
code:
reviewers:
teams:
- dcc-eng
reviews:
# The number of people who should be requested for review at any given
# time. Default is 1.
request: 2
conditions:
# The engineering team is the default owner for any code related files.
- >
contains_any_globs(files, [
'**/*.js',
'**/*.css',
'**/*.scss',
'**/*.html',
'**/*.htm',
'**/*.njk',
'**/*.toml',
'**/*.sh'
]) or
files.include('*.yaml').exclude('redirects.yaml') or
files.include('*.yml').exclude('site/_data/docs/*').exclude('site/_data/i18n/*') or
files.include('*.json').exclude('site/_data/authorsData.json')