perf/run: learn to send output to codespeed server
[gitweb.git] / t / perf / run
index 4e62d6bb3f24f60a7d4a8c40beda86240d3cfe57..ef563965469038790a16f17cfee76645aea74b65 100755 (executable)
@@ -148,10 +148,20 @@ run_subsection () {
        test "$GIT_PERF_CODESPEED_OUTPUT" = "true" && codespeed_opt="--codespeed"
 
        run_dirs "$@"
-       ./aggregate.perl $codespeed_opt "$@"
+
+       if test -z "$GIT_PERF_SEND_TO_CODESPEED"
+       then
+               ./aggregate.perl $codespeed_opt "$@"
+       else
+               json_res_file="test-results/$GIT_PERF_SUBSECTION/aggregate.json"
+               ./aggregate.perl --codespeed "$@" | tee "$json_res_file"
+               send_data_url="$GIT_PERF_SEND_TO_CODESPEED/result/add/json/"
+               curl -v --request POST --data-urlencode "json=$(cat "$json_res_file")" "$send_data_url"
+       fi
 }
 
 get_var_from_env_or_config "GIT_PERF_CODESPEED_OUTPUT" "perf" "codespeedOutput" "--bool"
+get_var_from_env_or_config "GIT_PERF_SEND_TO_CODESPEED" "perf" "sendToCodespeed"
 
 cd "$(dirname $0)"
 . ../../GIT-BUILD-OPTIONS