perf/run: learn to send output to codespeed server
Let's make it possible to set in a config file the URL of a codespeed server. And then let's make the `run` script send the perf test results to this URL at the end of the tests. This should make is possible to easily automate the process of running perf tests and having their results available in Codespeed. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Christian Couder committed
Jan 5, 2018 at 10:12 UTC
fccec20f0baf9a801fb0f5a53285256a002b42cd
1 file changed
+11
-1
t/perf/run
+11
-1
@@ -148,10 +148,20 @@ run_subsection () {
148
test "$GIT_PERF_CODESPEED_OUTPUT" = "true" && codespeed_opt="--codespeed"
149
150
run_dirs "$@"
151
- ./aggregate.perl $codespeed_opt "$@"
151
+
152
+ if test -z "$GIT_PERF_SEND_TO_CODESPEED"
153
+ then
154
+ ./aggregate.perl $codespeed_opt "$@"
155
+ else
156
+ json_res_file="test-results/$GIT_PERF_SUBSECTION/aggregate.json"
157
+ ./aggregate.perl --codespeed "$@" | tee "$json_res_file"
158
+ send_data_url="$GIT_PERF_SEND_TO_CODESPEED/result/add/json/"
159
+ curl -v --request POST --data-urlencode "json=$(cat "$json_res_file")" "$send_data_url"
160
+ fi
161
}
162
163
get_var_from_env_or_config "GIT_PERF_CODESPEED_OUTPUT" "perf" "codespeedOutput" "--bool"
164
+get_var_from_env_or_config "GIT_PERF_SEND_TO_CODESPEED" "perf" "sendToCodespeed"
165
166
cd "$(dirname $0)"
167
. ../../GIT-BUILD-OPTIONS