forked from autolab/Autolab
-
Notifications
You must be signed in to change notification settings - Fork 0
/
reviewpad.yml
59 lines (53 loc) · 2.32 KB
/
reviewpad.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
# This file is used to configure Reviewpad.
# The configuration is a proposal to help you get started.
# You can use it as a starting point and customize it to your needs.
# For more details see https://docs.reviewpad.com/guides/syntax.
# Define the list of labels to be used by Reviewpad.
# For more details see https://docs.reviewpad.com/guides/syntax#label.
labels:
small:
description: Pull request is small
color: "#76dbbe"
medium:
description: Pull request is medium
color: "#2986cc"
large:
description: Pull request is large
color: "#c90076"
groups:
- name: all-reviewers
spec: $append($reviewers(), $requestedReviewers())
# Define the list of workflows to be run by Reviewpad.
# A workflow is a list of actions that will be executed based on the defined rules.
# For more details see https://docs.reviewpad.com/guides/syntax#workflow.
workflows:
# This workflow assigns a random current developer as a reviewer
- name: reviewer-assignment
description: Assign a random reviewer to pull requests
run:
# Automatically assign reviewer when the pull request is ready for review;
- if: $isDraft() == false && $group("all-reviewers") == []
then: $assignReviewer($team("developers-current"), 1, "reviewpad")
# This workflow labels pull requests based on the total number of lines changed.
# This helps pick pull requests based on their size and to incentivize small pull requests.
- name: size-labeling
description: Label pull request based on the number of lines changed
run:
- if: $size() < 100
then: $addLabel("small")
else: $removeLabel("small")
- if: $size() >= 100 && $size() < 300
then: $addLabel("medium")
else: $removeLabel("medium")
- if: $size() >= 300
then: $addLabel("large")
else: $removeLabel("large")
# This workflow signals pull requests waiting for reviews.
# This helps guarantee that pull requests are reviewed and approved by at least one person.
- name: check-approvals
description: Check that pull requests have the required number of approvals
run:
# Label pull requests with `waiting-for-review` if there are no approvals;
- if: $isDraft() == false && $approvalsCount() < 1
then: $addLabel("waiting-for-review")
else: $removeLabel("waiting-for-review")