diff --git a/.travis.yml b/.travis.yml index 70d666d8f..a5dfb9f18 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,7 @@ language: c sudo: required dist: trusty +cache: ccache services: - docker env: @@ -16,6 +17,7 @@ env: - TR_ARCH=ppc64le CLANG=1 - TR_ARCH=alpine CLANG=1 script: - - sudo make -C scripts/travis $TR_ARCH + - sudo make CCACHE=1 -C scripts/travis $TR_ARCH after_success: + - ccache -s - make -C scripts/travis after_success diff --git a/scripts/travis/travis-tests b/scripts/travis/travis-tests index 75d15f5d6..ec730019b 100755 --- a/scripts/travis/travis-tests +++ b/scripts/travis/travis-tests @@ -13,12 +13,25 @@ travis_prep () { service apport stop + CC=gcc + # clang support + if [ "$CLANG" = "1" ]; then + TRAVIS_PKGS="$TRAVIS_PKGS clang" + CC=clang + fi + + # ccache support, only enable for non-GCOV case + if [ "$CCACHE" = "1" -a -z "$GCOV" ]; then + # ccache is installed by default, need to set it up + export CCACHE_DIR=$HOME/.ccache + [ "$CC" = "clang" ] && export CCACHE_CPP2=yes + # uncomment the following to get detailed ccache logs + #export CCACHE_LOGFILE=$HOME/ccache.log + CC="ccache $CC" + fi + apt-get update -qq apt-get install -qq $TRAVIS_PKGS - if [ "$CLANG" = "1" ]; then - apt-get install -qq clang - MAKE_VARS=CC=clang - fi chmod a+x $HOME } @@ -28,8 +41,10 @@ ulimit -c unlimited echo "|`pwd`/test/abrt.sh %P %p %s %e" > /proc/sys/kernel/core_pattern export GCOV -make ${MAKE_VARS} -make ${MAKE_VARS} -C test/zdtm +time make CC="$CC" -j4 +time make CC="$CC" -j4 -C test/zdtm + +[ -f "$CCACHE_LOGFILE" ] && cat $CCACHE_LOGFILE ./criu/criu check ./criu/criu check --all || echo $?