aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--Makefile.ci4
-rwxr-xr-xdev/ci/ci-pipe-tee.sh8
2 files changed, 9 insertions, 3 deletions
diff --git a/Makefile.ci b/Makefile.ci
index 1b09905cc..a5b3b1491 100644
--- a/Makefile.ci
+++ b/Makefile.ci
@@ -24,9 +24,7 @@ CI_TARGETS=ci-all \
# Generic rule, we use make to easy travis integraton with mixed rules
$(CI_TARGETS): ci-%:
- rm -f ci-$*.ok
- +(./dev/ci/ci-$*.sh 2>&1 && touch ci-$*.ok) | tee time-of-build.log
+ +./dev/ci/ci-pipe-tee.sh ./dev/ci/ci-$*.sh time-of-build.log
echo 'Aggregating timing log...' && echo -en 'travis_fold:start:coq.test.timing\\r'
python ./tools/make-one-time-file.py time-of-build.log
echo -en 'travis_fold:end:coq.test.timing\\r'
- rm ci-$*.ok # must not be -f; we're checking to see that it exists
diff --git a/dev/ci/ci-pipe-tee.sh b/dev/ci/ci-pipe-tee.sh
new file mode 100755
index 000000000..7b1ccddf2
--- /dev/null
+++ b/dev/ci/ci-pipe-tee.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+
+# Use this script to preserve the exit code of $1 when piping it to
+# `tee $2`. We have a separate script, because this only works in
+# bash, which we don't require project-wide.
+
+"$1" 2>&1 | tee "$2"
+exit ${PIPESTATUS[0]}