summaryrefslogtreecommitdiff
path: root/.gitlab/ci.sh
diff options
context:
space:
mode:
authorMatthew Pickering <matthewtpickering@gmail.com>2021-12-15 10:46:58 +0000
committerMatthew Pickering <matthewtpickering@gmail.com>2021-12-15 11:26:44 +0000
commit6deeb47cd6ed9e997e1257fd5955eb430403eda8 (patch)
treed9dd87120e125b36d277edeb76f6f7e641065dc6 /.gitlab/ci.sh
parent45bd630886157fbe4856594e098202808aedbdd0 (diff)
downloadhaskell-wip/perf-baseline.tar.gz
ci: Use correct metrics baselinewip/perf-baseline
It turns out there was already a function in the CI script to correctly set the baseline for performance tests but it was just never called. I now call it during the initialisation to set the correct baseline. I also made the make testsuite driver take into account the PERF_BASELINE_COMMIT environment variable Fixes #20811
Diffstat (limited to '.gitlab/ci.sh')
-rwxr-xr-x.gitlab/ci.sh10
1 files changed, 7 insertions, 3 deletions
diff --git a/.gitlab/ci.sh b/.gitlab/ci.sh
index 1eef2143fe..ca115af15a 100755
--- a/.gitlab/ci.sh
+++ b/.gitlab/ci.sh
@@ -449,9 +449,11 @@ function push_perf_notes() {
# Figure out which commit should be used by the testsuite driver as a
# performance baseline. See Note [The CI Story].
function determine_metric_baseline() {
- PERF_BASELINE_COMMIT="$(git merge-base "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" HEAD)"
- export PERF_BASELINE_COMMIT
- info "Using $PERF_BASELINE_COMMIT for performance metric baseline..."
+ if [ -n "${CI_MERGE_REQUEST_DIFF_BASE_SHA}:-}" ]; then
+ PERF_BASELINE_COMMIT="$CI_MERGE_REQUEST_DIFF_BASE_SHA"
+ export PERF_BASELINE_COMMIT
+ info "Using $PERF_BASELINE_COMMIT for performance metric baseline..."
+ fi
}
function test_make() {
@@ -661,6 +663,8 @@ if [ -n "${IGNORE_PERF_FAILURES:-}" ]; then
RUNTEST_ARGS="--ignore-perf-failures=$IGNORE_PERF_FAILURES"
fi
+determine_metric_baseline
+
set_toolchain_paths
case $1 in