55 - cron : ' 0 0 * * *'
66
77env :
8+ data_branch : monitoring-data
9+ data_path : monitoring/data
10+ aggregated_data_branch : monitoring-aggregated-data
11+ aggregated_data_path : monitoring/aggregated_data
812 monitoring_properties : monitoring/monitoring.properties
913 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
1314 KOTLIN_HOME : /usr
1415
1516jobs :
1617 build_and_run_monitoring :
1718 runs-on : ubuntu-20.04
1819 steps :
19- - name : Checkout repository
20+ - name : Checkout main
2021 uses : actions/checkout@v3
2122
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+
2235 - uses : actions/setup-java@v3
2336 with :
2437 java-version : ' 8'
3043 - uses : actions/setup-python@v4
3144 with :
3245 python-version : ' 3.9'
33- cache : ' pip'
34- - name : Install matplotlib
35- run : pip install matplotlib
3646
3747 - name : Build and run monitoring UTBot Java
3848 run : |
@@ -42,23 +52,44 @@ jobs:
4252 utbot-junit-contest/build/libs/monitoring.jar \
4353 $output_stats
4454
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-
5355 - name : Get current date
5456 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)"
5666
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
5888 uses : actions-js/push@master
5989 with :
90+ branch : ${{ env.aggregated_data_branch }}
6091 message : ' night-monitoring-${{ steps.date.outputs.date }}'
61- directory : ' ./monitoring '
92+ directory : ${{ env.aggregated_data_path }}
6293 github_token : ${{ secrets.GITHUB_TOKEN }}
6394
6495 - name : Upload logs
6798 with :
6899 name : logs
69100 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