summaryrefslogtreecommitdiff
path: root/scripts/benchmark/setup-all-commits-env.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/benchmark/setup-all-commits-env.sh')
-rwxr-xr-xscripts/benchmark/setup-all-commits-env.sh43
1 files changed, 43 insertions, 0 deletions
diff --git a/scripts/benchmark/setup-all-commits-env.sh b/scripts/benchmark/setup-all-commits-env.sh
new file mode 100755
index 00000000..79a9324b
--- /dev/null
+++ b/scripts/benchmark/setup-all-commits-env.sh
@@ -0,0 +1,43 @@
+#!/bin/sh
+
+# This script is supposed to be called while running the benchmark job defined
+# in `/.gitlab-ci.yml`, to setup the environment when benchmarking all commits
+# back in time. It will checkout some needed files and do whatever is needed to
+# run tests from older versions of the repository with the newest benchmarking
+# facilities.
+
+set -e
+
+# By default, gitlab-runner will checkout in a detached HEAD (see
+# https://gitlab.com/gitlab-org/gitlab-ce/issues/19421) We want
+# pytest-benchmark to report the proper branch name, so we make sure we stay at
+# the current branch.
+
+# Variable names have changed in latest version of gitlab, but the doc seems to
+# be outdated (see also https://docs.gitlab.com/ce/ci/variables/README.html).
+
+# Old variable names:
+#git checkout -B "$CI_BUILD_RF_NAME" "$CI_BUILD_REF"
+
+# New (expected) variable names:
+#git checkout -B "$CI_COMMIT_REF_NAME" "$CI_COMMIT_SHA"
+
+# Working variable names:
+git checkout -B "$CI_COMMIT_REF_NAME" "$CI_COMMIT_REF"
+
+# Gitlab will checkout current revision as master / origin/master
+# We need some files from the "furure" in order to post the right
+# benchmarking data to elasticsearch.
+git remote add leap https://leap.se/git/soledad
+git fetch leap
+git checkout leap/master \
+ testing/tox.ini \
+ testing/tests/benchmarks/conftest.py \
+ testing/tests/conftest.py \
+ testing/check-pysqlcipher.py \
+ scripts/benchmark/tune-adbapi-parameters.sh
+
+# ensure larger timeout and more retries for async/concurrent sqlcipher access
+./scripts/benchmark/tune-adbapi-parameters.sh
+git status
+git show -s --pretty=fuller