forked from HumanCellAtlas/metadata-schema
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.pullapprove.yml
107 lines (99 loc) · 3.37 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
version: 3
# The following line breaks the yml - 404 page not found error
# extends: https://api.github.com/repos/example/pullapprove-config/contents/.pullapprove.yml
# If this conditions are not met, it will throw the 'unmet_status'.
pullapprove_conditions:
- condition: "not any(['release' in labels, 'hotfix' in labels])"
unmet_status: success
explanation: "Releases, security updates and hotfixes are allowed to merge in integration, staging and/or master"
- condition: "base.ref == 'develop' or '[Snyk]' in title"
unmet_status: failure
explanation: "No PRs from unknown branches can be merged into integration, staging or master"
- condition: "'on hold' not in labels"
unmet_status: pending
explanation: "PR review is on hold"
- condition: "'*travis*' in statuses.successful"
unmet_status: failure
explanation: "Travis CI tests must pass before review starts"
notifications:
- when: pull_request.opened
if: "author_association == 'CONTRIBUTOR'" # Only contributing authors get this message
comment: |
Hey @{{ author }}, thanks for the PR! The review will start once
the tests and CI checks have passed.
- when: pullapprove.approved
if: "author_association == 'CONTRIBUTOR'" # Only contributing authors get this message
comment: "The review is completed. Thanks @{{ author }}!"
- when: pull_request.opened
if: "'content' in labels and 'major' in body" # Notify the DCP for a major update
comment: |
Major metadata schema update, pinging @maniarathi @aaclan-ebi @MDunitz @NoopDog @brianraymor
@jahilton @jychien @jlzamanian @samanehsan @hannes-ucsc @kislyuk . If no one objects, this will be merged on the
following 5 working days.
groups:
snyk-security-patches:
conditions:
- "'[Snyk]' in title"
- "'Security' not in labels"
reviewers:
users:
- ESapenaVentura
- simonjupp
- diekhans
- willrockout
- rolando-ebi
reviews:
required: 1
request_order: shuffle
metadata-updates-major-minor: # group name
conditions: # the group is activated when all of these statements are true
- "'*travis*' in statuses.succeeded"
- "base.ref == 'develop'"
- "'major' in body or 'minor' in body" # major or minor change is indicated in body of PR
- "'content' in labels"
reviewers: # people who can approve for this group
users:
- zperova
- mshadbolt
- ESapenaVentura
- zperova
- mshadbolt
- ESapenaVentura
- willrockout
- cjvillar
reviews: # settings for approval and reviewer selection
required: 2
request_order: shuffle # reviewers will be chosen in a random order
metadata-updates-patch:
conditions:
- "'*travis*' in statuses.succeeded"
- "base.ref == 'develop'"
- "'patch' in body" # patch change is indicated in body of PR
- "'content' in labels"
reviewers:
users:
- zperova
- mshadbolt
- ESapenaVentura
- zperova
- mshadbolt
- ESapenaVentura
- willrockout
- cjvillar
reviews:
required: 1
request_order: shuffle
code-review:
conditions:
- "'*travis*' in statuses.succeeded"
- "base.ref == 'develop'"
- "'*.py' in files or '*.js' in files or '*.yml' in files"
reviewers:
users:
- mshadbolt
- ESapenaVentura
- willrockout
- cjvillar
reviews:
required: 1
request_order: shuffle