diff options
author | Mike Blumenkrantz <zmike@samsung.com> | 2018-07-10 18:43:55 -0400 |
---|---|---|
committer | Stefan Schmidt <s.schmidt@samsung.com> | 2018-07-26 08:55:58 +0200 |
commit | 005ba932344bbf4eb022df96ea24be67093324c0 (patch) | |
tree | 1296b517b2ec640ffe43cd54d468f4333076f474 /.travis.yml | |
parent | 45988ac6c0c8ca661601dcd9fdf10171a13568c7 (diff) | |
download | efl-005ba932344bbf4eb022df96ea24be67093324c0.tar.gz |
ci: add ccache support
this enables and implements full support for ccache on travis builds
fix T7126
Differential Revision: https://phab.enlightenment.org/D6605
=also includes previously-submitted patches=
ci: split out ccache config setup into separate script
this provides a more unified place to set ccache options
also enable ccache compression to cut down on cache upload/download overhead
ref D6613
ci: zero ccache stats before build and add some comments for options used
zeroing the stats before each build will provide more insight into the cache
performance for each build
ref D6621
ci: break out ccache stat printing into separate script
continue to make travis.yml more readable
ref D6622
ci: add more ccache config options to improve cache direct hits
ci: disable second cpp run for ccache
this should avoid running cpp twice for files
https://ccache.samba.org/manual.html#_the_preprocessor_mode
Diffstat (limited to '.travis.yml')
-rw-r--r-- | .travis.yml | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/.travis.yml b/.travis.yml index 817e4f177f..f3ba713f01 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ language: c - +cache: ccache sudo: required dist: trusty @@ -11,6 +11,8 @@ env: global: - MAKEFLAGS="-j5" - EIO_MONITOR_POLL=1 + - CC="ccache gcc" + - CXX="ccache g++" matrix: - - DISTRO=Ubuntu1804 @@ -70,12 +72,15 @@ before_script: - | if [[ "$TRAVIS_OS_NAME" == "linux" ]] ; then docker version - docker run --cidfile $HOME/cid -t -d -v `pwd`:/src -w /src stefanschmidt1/ci-support-files:$DISTRO bash + docker run --cidfile $HOME/cid -t -d -v `pwd`:/src -v $HOME/.ccache:/root/.ccache -w /src stefanschmidt1/ci-support-files:$DISTRO bash cat $HOME/cid fi + - .ci/ci-ccache-stats.sh + script: - .ci/ci-configure.sh "$CI_BUILD_TYPE" + - .ci/ci-setup-ccache.sh "$CI_BUILD_TYPE" - .ci/ci-make.sh "$CI_BUILD_TYPE" - .ci/ci-make-checkbuild.sh "$CI_BUILD_TYPE" - .ci/ci-make-examples.sh "$CI_BUILD_TYPE" @@ -91,6 +96,13 @@ script: elif [[ "$CI_BUILD_TYPE" != "release-ready" ]] ; then docker exec --env MAKEFLAGS="-j5" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) .ci/build-efl-app.sh fi +before_cache: + - .ci/ci-ccache-stats.sh + - | + if [[ "$TRAVIS_OS_NAME" == "linux" ]] ; then + sudo chown travis:travis $HOME/.ccache + else + fi after_success: - | |