1
+ # -*- mode: yaml -*-
2
+ # This example configuration for provides basic automations to get started with gitStream.
3
+ # View the gitStream quickstart for more examples: https://docs.gitstream.cm/examples/
4
+ manifest :
5
+ version : 1.0
6
+
7
+
8
+ automations :
9
+ # Add a label that indicates how many minutes it will take to review the PR.
10
+ estimated_time_to_review :
11
+ if :
12
+ - true
13
+ run :
14
+ - action : add-label@v1
15
+ args :
16
+ label : " {{ calc.etr }} min review"
17
+ color : {{ colors.red if (calc.etr >= 20) else ( colors.yellow if (calc.etr >= 5) else colors.green ) }}
18
+ # Post a comment that lists the best experts for the files that were modified.
19
+ explain_code_experts :
20
+ if :
21
+ - true
22
+ run :
23
+ - action : explain-code-experts@v1
24
+ args :
25
+ gt : 10
26
+ # Post a comment that indicates what percentage of the PR is new code.
27
+ percent_new_code :
28
+ if :
29
+ - true
30
+ run :
31
+ - action : add-comment@v1
32
+ args :
33
+ comment : |
34
+ This PR is {{ changes.ratio }}% new code.
35
+ # Post a comment that request changes for a PR that contains a TODO statement.
36
+ review_todo_comments :
37
+ if :
38
+ - {{ source.diff.files | matchDiffLines(regex=r/^[+].*(TODO)|(todo)/) | some }}
39
+ run :
40
+ - action : request-changes@v1
41
+ args :
42
+ comment : |
43
+ This PR contains a TODO statement. Please check to see if they should be removed.
44
+ # Post a comment that request a before and after screenshot
45
+ request_screenshot :
46
+ # Triggered for PRs that lack an image file or link to an image in the PR description
47
+ if :
48
+ - {{ not (has.screenshot_link or has.image_uploaded) }}
49
+ run :
50
+ - action : add-comment@v1
51
+ args :
52
+ comment : |
53
+ Be a legend :trophy: by adding a before and after screenshot of the changes you made, especially if they are around UI/UX.
54
+
55
+
56
+ # +----------------------------------------------------------------------------+
57
+ # | Custom Expressions |
58
+ # | https://docs.gitstream.cm/how-it-works/#custom-expressions |
59
+ # +----------------------------------------------------------------------------+
60
+
61
+ calc :
62
+ etr : {{ branch | estimatedReviewTime }}
63
+
64
+ colors :
65
+ red : ' b60205'
66
+ yellow : ' fbca04'
67
+ green : ' 0e8a16'
68
+
69
+ changes :
70
+ # Sum all the lines added/edited in the PR
71
+ additions : {{ branch.diff.files_metadata | map(attr='additions') | sum }}
72
+ # Sum all the line removed in the PR
73
+ deletions : {{ branch.diff.files_metadata | map(attr='deletions') | sum }}
74
+ # Calculate the ratio of new code
75
+ ratio : {{ (changes.additions / (changes.additions + changes.deletions)) * 100 | round(2) }}
0 commit comments