From b5c08cb9f4f1673bd943cbaea87b827c228d08e6 Mon Sep 17 00:00:00 2001 From: Dominic Jodoin Date: Mon, 10 Dec 2018 12:58:45 -0500 Subject: [PATCH] Cache gcc and clang APT packages --- .travis.yml | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2b0ac21a..2bcf752f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -44,6 +44,17 @@ matrix: env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 if: type != pull_request +before_install: + - | + if [ ! -f ${TRAVIS_BUILD_DIR}/apt-cache/pkgcache.bin ]; then + mkdir -p ${TRAVIS_BUILD_DIR}/apt-cache/archives/partial + mkdir -p ${TRAVIS_BUILD_DIR}/apt-cache/partial + mkdir -p ${TRAVIS_BUILD_DIR}/apt-cache/lists + sudo apt-get -y -o Dir::cache=${TRAVIS_BUILD_DIR}/apt-cache -o Dir::State::Lists=${TRAVIS_BUILD_DIR}/apt-cache/lists update + sudo apt-get install --download-only -o Dir::cache=${TRAVIS_BUILD_DIR}/apt-cache -o Dir::State::Lists=${TRAVIS_BUILD_DIR}/apt-cache/lists g++-4.9 clang-3.9 + fi + - sudo apt-get install --no-download -o Dir::cache=${TRAVIS_BUILD_DIR}/apt-cache -o Dir::State::Lists=${TRAVIS_BUILD_DIR}/apt-cache/lists g++-4.9 clang-3.9 + # These are the install and build (script) phases for the most common entries in the matrix. They could be included # in each entry in the matrix, but that is just repetitive. install: @@ -63,9 +74,13 @@ addons: sources: - ubuntu-toolchain-r-test - llvm-toolchain-precise-3.9 - packages: - - g++-4.9 - - clang-3.9 + +before_cache: + - sudo chown -R $USER ${TRAVIS_BUILD_DIR}/apt-cache + +cache: + directories: + - apt-cache notifications: email: false