5
5
- cron : ' 0 0 * * *'
6
6
7
7
env :
8
+ data_branch : monitoring-data
9
+ data_path : monitoring/data
10
+ aggregated_data_branch : monitoring-aggregated-data
11
+ aggregated_data_path : monitoring/aggregated_data
8
12
monitoring_properties : monitoring/monitoring.properties
9
13
output_stats : stats.json
10
- history_file : monitoring/history.json
11
- coverage_graph_file : monitoring/coverage_graph.png
12
- quantitative_graph_file : monitoring/quantitative_graph.png
13
14
KOTLIN_HOME : /usr
14
15
15
16
jobs :
16
17
build_and_run_monitoring :
17
18
runs-on : ubuntu-20.04
18
19
steps :
19
- - name : Checkout repository
20
+ - name : Checkout main
20
21
uses : actions/checkout@v3
21
22
23
+ - name : Checkout monitoring data
24
+ uses : actions/checkout@v3
25
+ with :
26
+ ref : ${{ env.data_branch }}
27
+ path : ${{ env.data_path }}
28
+
29
+ - name : Checkout aggregated monitoring data
30
+ uses : actions/checkout@v3
31
+ with :
32
+ ref : ${{ env.aggregated_data_branch }}
33
+ path : ${{ env.aggregated_data_path }}
34
+
22
35
- uses : actions/setup-java@v3
23
36
with :
24
37
java-version : ' 8'
30
43
- uses : actions/setup-python@v4
31
44
with :
32
45
python-version : ' 3.9'
33
- cache : ' pip'
34
- - name : Install matplotlib
35
- run : pip install matplotlib
36
46
37
47
- name : Build and run monitoring UTBot Java
38
48
run : |
@@ -42,23 +52,44 @@ jobs:
42
52
utbot-junit-contest/build/libs/monitoring.jar \
43
53
$output_stats
44
54
45
- - name : Update history and render graphs
46
- run : |
47
- python monitoring/draw_stats_graphs.py \
48
- $history_file \
49
- $output_stats \
50
- $coverage_graph_file \
51
- $quantitative_graph_file
52
-
53
55
- name : Get current date
54
56
id : date
55
- run : echo "::set-output name=date::$(date +'%d-%m-%Y')"
57
+ run : |
58
+ echo "::set-output name=date::$(date +'%Y-%m-%d')"
59
+ echo "::set-output name=timestamp::$(date +'%s')"
60
+
61
+ - name : Get commit hash
62
+ id : metadata
63
+ run : |
64
+ echo "::set-output name=commit::$(git rev-parse HEAD)"
65
+ echo "::set-output name=branch::$(git name-rev --name-only HEAD)"
56
66
57
- - name : Commit and push graphs and statistics
67
+ - name : Insert metadata
68
+ run : |
69
+ python monitoring/insert_metadata.py \
70
+ $output_stats "$data_path/data-$branch-$date-$timestamp-$commit.json" \
71
+ $commit "$build"
72
+ env :
73
+ date : ${{ steps.date.outputs.date }}
74
+ timestamp : ${{ steps.date.outputs.timestamp }}
75
+ commit : ${{ steps.metadata.outputs.commit }}
76
+ branch : ${{ steps.metadata.outputs.branch }}
77
+ build : 0
78
+
79
+ - name : Commit and push statistics
80
+ uses : actions-js/push@master
81
+ with :
82
+ branch : ${{ env.data_branch }}
83
+ message : ' night-monitoring-${{ steps.date.outputs.date }}'
84
+ directory : ${{ env.data_path }}
85
+ github_token : ${{ secrets.GITHUB_TOKEN }}
86
+
87
+ - name : Commit and push aggregated statistics
58
88
uses : actions-js/push@master
59
89
with :
90
+ branch : ${{ env.aggregated_data_branch }}
60
91
message : ' night-monitoring-${{ steps.date.outputs.date }}'
61
- directory : ' ./monitoring '
92
+ directory : ${{ env.aggregated_data_path }}
62
93
github_token : ${{ secrets.GITHUB_TOKEN }}
63
94
64
95
- name : Upload logs
67
98
with :
68
99
name : logs
69
100
path : logs/utbot.log
70
-
71
- - name : Upload statistics
72
- if : ${{ success() }}
73
- uses : actions/upload-artifact@v3
74
- with :
75
- name : statistics
76
- path : ${{ env.output_stats }}
0 commit comments