about summary refs log tree commit diff homepage
path: root/.travis
diff options
context:
space:
mode:
authorMartin Nowack <martin_nowack@tu-dresden.de>2018-01-27 22:04:46 +0100
committerCristian Cadar <c.cadar@imperial.ac.uk>2018-01-30 22:09:00 +0000
commitc4a8b2901160568fba95b33d73a7792e0ba32c50 (patch)
tree895b08c9d65717d5ed5703a2e3f4175e3b19e26b /.travis
parente432297c3e43a476a6d97b6f1bf39bb2859816ce (diff)
downloadklee-c4a8b2901160568fba95b33d73a7792e0ba32c50.tar.gz
Enable caching for travis-ci
* Use ccache for building
* Implement caching of locally build brew packages
Diffstat (limited to '.travis')
-rwxr-xr-x.travis/install-llvm-and-runtime-compiler.sh18
1 files changed, 12 insertions, 6 deletions
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}\""