From c4a8b2901160568fba95b33d73a7792e0ba32c50 Mon Sep 17 00:00:00 2001 From: Martin Nowack Date: Sat, 27 Jan 2018 22:04:46 +0100 Subject: Enable caching for travis-ci * Use ccache for building * Implement caching of locally build brew packages --- .travis/install-llvm-and-runtime-compiler.sh | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to '.travis') diff --git a/.travis/install-llvm-and-runtime-compiler.sh b/.travis/install-llvm-and-runtime-compiler.sh index 6c9bc009..bd34d843 100755 --- a/.travis/install-llvm-and-runtime-compiler.sh +++ b/.travis/install-llvm-and-runtime-compiler.sh @@ -8,12 +8,18 @@ if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${LLVM_VERSION} 20 sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-${LLVM_VERSION} 20 elif [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then - # NOTE: We should not easily generalize, since we need the corresponding support of bottled formulas - if [ "${LLVM_VERSION}" == "3.4" ]; then - brew install llvm34 - else - echo "Error: Requested to install LLVM ${LLVM_VERSION} on macOS, which is not supported" - exit 1 + # We use our own local cache if possible + set +e + brew install $HOME/Library/Caches/Homebrew/llvm\@${LLVM_VERSION}*.bottle.tar.gz + RES=$? + set -ev + if [ ${RES} -ne 0 ]; then + # This might build the llvm package use a time out to avoid dumping log information + brew install -v --build-bottle "llvm@${LLVM_VERSION}" + # Now bottle the brew + brew bottle llvm\@${LLVM_VERSION} + # Not make sure it's cached + cp llvm\@${LLVM_VERSION}*.bottle.tar.gz $HOME/Library/Caches/Homebrew/ fi else echo "Unhandled TRAVIS_OS_NAME \"${TRAVIS_OS_NAME}\"" -- cgit 1.4.1