diff options
| author | Jason Gross | 2017-08-15 12:00:18 -0400 |
|---|---|---|
| committer | Jason Gross | 2017-08-15 14:22:26 -0400 |
| commit | 23d1504de4111223dc4805c6f4176a4d9e028b79 (patch) | |
| tree | 6607a3128412026d072627e1492f10542fd76856 | |
| parent | 83e506e9a4b8140320e8f505b9ef6e4da05d710c (diff) | |
Better error messages on the CI
This makes it so that when a ci target fails, we don't get red herring
error messages about .ok files not existing.
Since this requires bash, we make a helper script that invokes bash, so
as to not depend on bash in general.
| -rw-r--r-- | Makefile.ci | 4 | ||||
| -rwxr-xr-x | dev/ci/ci-pipe-tee.sh | 8 |
2 files changed, 9 insertions, 3 deletions
diff --git a/Makefile.ci b/Makefile.ci index 1b09905cc7..a5b3b1491d 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 0000000000..7b1ccddf23 --- /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]} |
