[PATCH] travis-ci: run previously failed tests first, then slowest to fastest

Subsystems: the rest

STALE3729d

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

[PATCH] travis-ci: run previously failed tests first, then slowest to fastest

From: <hidden>
Date: 2016-06-15 23:07:48

From: Lars Schneider <redacted>

Use the Travis-CI cache feature to store prove test results and make them
available in subsequent builds. 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.

Unfortunately the cache feature is only available (for free) on the
Travis-CI Linux environment.

Suggested-by: Jeff King <redacted>
Signed-off-by: Lars Schneider <redacted>
---
 .travis.yml | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/.travis.yml b/.travis.yml
index c3bf9c6..f34726b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,9 @@
 language: c

+cache:
+  directories:
+    - $HOME/.prove-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/.prove-cache;
+    ln -s $HOME/.prove-cache/.prove t/.prove;

 before_script: make --jobs=2

--
2.5.1

Re: [PATCH] travis-ci: run previously failed tests first, then slowest to fastest

From: Jeff King <hidden>
Date: 2016-06-15 23:07:49

On Tue, Jan 19, 2016 at 10:24:29AM +0100, larsxschneider@gmail.com wrote:
From: Lars Schneider <redacted>

Use the Travis-CI cache feature to store prove test results and make them
available in subsequent builds. 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.
Thanks, this makes sense, and the patch looks good.
quoted hunk
@@ -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"
Have you tried bumping --jobs here? I usually use "16" on my local box.

I also looked into the Travis "container" thing. It's not clear to me
from their page:

  https://docs.travis-ci.com/user/workers/container-based-infrastructure/

whether we're using the new, faster container infrastructure or not. It
depends on when Travis "recognized" the repo, but I'm not quite sure
what that means. Should we be adding "sudo: false" to the top-level of
the yaml file?

-Peff
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help