diff options
author | Lars Schneider <larsxschneider@gmail.com> | 2016-01-26 10:53:42 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-01-26 10:38:11 -0800 |
commit | 6272ed319462650e008f79cfab3aef233dc849b7 (patch) | |
tree | 7027af1beefd2b0e8db3b4a611e0a42490c915a4 /.travis.yml | |
parent | 754884255bb580df159e58defa81cdd30b5c430c (diff) | |
download | git-6272ed319462650e008f79cfab3aef233dc849b7.tar.gz |
travis-ci: run previously failed tests first, then slowest to fastest
The Travis-CI machines are in a clean state in the beginning of every run
(transient by default). Use the Travis-CI cache feature to make the prove
state persistent across consecutive Travis-CI runs on the same branch.
This allows to run previously failed tests first and run remaining tests
in slowest to fastest order. As a result it is less likely that Travis-CI
needs to wait for a single test at the end which speeds up the test suite
execution by ~2 min.
Travis-CI can only cache entire directories. Prove stores the .prove file
always in the t/ directory but we don't want to cache the entire t/ directory.
Therefore we create a symlink from $HOME/travis-cache/.prove to t/.prove and
cache the $HOME/travis-cache directory.
Unfortunately the cache feature is only available (for free) on the
Travis-CI Linux environment.
Suggested-by: Jeff King <peff@peff.net>
Signed-off-by: Lars Schneider <larsxschneider@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to '.travis.yml')
-rw-r--r-- | .travis.yml | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/.travis.yml b/.travis.yml index c3bf9c6d4d..610881e04f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,9 @@ language: c +cache: + directories: + - $HOME/travis-cache + os: - linux - osx @@ -18,7 +22,7 @@ env: - P4_VERSION="15.2" - GIT_LFS_VERSION="1.1.0" - DEFAULT_TEST_TARGET=prove - - GIT_PROVE_OPTS="--timer --jobs 3" + - GIT_PROVE_OPTS="--timer --jobs 3 --state=failed,slow,save" - GIT_TEST_OPTS="--verbose --tee" - CFLAGS="-g -O2 -Wall -Werror" - GIT_TEST_CLONE_2GB=YesPlease @@ -67,6 +71,8 @@ before_install: p4 -V | grep Rev.; echo "$(tput setaf 6)Git-LFS Version$(tput sgr0)"; git-lfs version; + mkdir -p $HOME/travis-cache; + ln -s $HOME/travis-cache/.prove t/.prove; before_script: make --jobs=2 |