summaryrefslogtreecommitdiff
path: root/.travis.yml
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@samsung.com>2018-07-10 18:43:55 -0400
committerStefan Schmidt <s.schmidt@samsung.com>2018-07-26 08:55:58 +0200
commit005ba932344bbf4eb022df96ea24be67093324c0 (patch)
tree1296b517b2ec640ffe43cd54d468f4333076f474 /.travis.yml
parent45988ac6c0c8ca661601dcd9fdf10171a13568c7 (diff)
downloadefl-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.yml16
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:
- |