summaryrefslogtreecommitdiff
path: root/scripts/benchmark/run-benchmarks-ci-job.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/benchmark/run-benchmarks-ci-job.sh')
-rwxr-xr-xscripts/benchmark/run-benchmarks-ci-job.sh31
1 files changed, 31 insertions, 0 deletions
diff --git a/scripts/benchmark/run-benchmarks-ci-job.sh b/scripts/benchmark/run-benchmarks-ci-job.sh
new file mode 100755
index 00000000..e99a8ab0
--- /dev/null
+++ b/scripts/benchmark/run-benchmarks-ci-job.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+# This script is used in .gitlab-ci.yml to run benchmark jobs. It has been
+# factored out from that file to avoid bloating it with too much information.
+#
+# The benchmark job will be skiped if the RUN_BENCHMARKS variable is not set,
+# thus allowing for opting in to benchmarking.
+#
+# This is an attempt to make life of developers easier, by diminishing the time
+# of the pipeline by not running benchmarks by default. The canonical repo
+# (i.e. https://0xacab.org/leap/soledad) should have the RUN_BENCHMARKS
+# variable set to ensure that these jobs will run. Developers can add or remove
+# the variable from their environments as they see fit.
+
+set -eu
+
+ENVIRONMENT=${1}
+RUN_BENCHMARKS=${RUN_BENCHMARKS:-}
+
+if [ -z "${RUN_BENCHMARKS}" ]; then
+ echo "Skipping benchmarks because RUN_BENCHMARKS is not set..."
+ exit 0
+fi
+
+/usr/bin/unbuffer \
+ tox \
+ --recreate
+ -e ${ENVIRONMENT} \
+ -- \
+ --couch-url http://couchdb:5984 \
+ | /usr/bin/ts -s