summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2020-06-13 04:56:27 -0400
committerBen Gamari <ben@smart-cactus.org>2020-06-13 04:59:06 -0400
commit8bba1c26193e704d2d6bb2be9a2fac668b0ea54c (patch)
tree724acd8446d2bf9b4164e72ba8bf8f0ee0c7214c
parent220c2d34a34727d696cc4b44a1b87aba83231ce4 (diff)
downloadhaskell-8bba1c26193e704d2d6bb2be9a2fac668b0ea54c.tar.gz
gitlab-ci: Always push perf notes
Previously we ci.sh would run with `set -e` implying that we wouldn't push perf notes if the testsuite were to fail, even if it *only* failed due to perf notes. This rendered the whole performance testing story quite fragile as a single regressing commit would cause every successive commit to fail since a new baseline would not be uploaded. Fix this by ensuring that we always push performance notes.
-rwxr-xr-x.gitlab/ci.sh13
1 files changed, 11 insertions, 2 deletions
diff --git a/.gitlab/ci.sh b/.gitlab/ci.sh
index 6e1c6b0e81..073302a792 100755
--- a/.gitlab/ci.sh
+++ b/.gitlab/ci.sh
@@ -441,9 +441,18 @@ case $1 in
setup) setup && cleanup_submodules ;;
configure) configure ;;
build_make) build_make ;;
- test_make) fetch_perf_notes; test_make; push_perf_notes ;;
+ test_make)
+ fetch_perf_notes
+ test_make || push_perf_notes
+ push_perf_notes ;;
build_hadrian) build_hadrian ;;
- test_hadrian) fetch_perf_notes; test_hadrian; push_perf_notes ;;
+ # N.B. Always push notes, even if the build fails. This is okay to do as the
+ # testsuite driver doesn't record notes for tests that fail due to
+ # correctness.
+ test_hadrian)
+ fetch_perf_notes
+ test_hadrian || push_perf_notes
+ push_perf_notes ;;
run_hadrian) run_hadrian $@ ;;
clean) clean ;;
shell) shell $@ ;;