From 7996571a6d9c3c2bbc771974dfd7f7b45b7ddbde Mon Sep 17 00:00:00 2001 From: peterbell10 Date: Sun, 10 Nov 2019 16:55:24 +0000 Subject: CI: Add arm build to travis (#4422) * Add arm to travis build matrix * Pin clang-3.5 build to ubuntu trusty * Add ccache to build This explicitly excludes macOS since the images don't come with ccache installed and the install time is not justified by the time saved. --- .travis.yml | 20 ++++++++++++++++---- CIbuild.sh | 9 ++++++++- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3e75e0f82..266077156 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,6 +6,15 @@ os: linux matrix: include: + # gcc on arm64 + - compiler: gcc + arch: arm64 + addons: + apt: + packages: + - ccache + env: &Debug + - TRAVIS_CUBERITE_BUILD_TYPE=DEBUG CUBERITE_PATH=./Cuberite_debug # AppleClang # OSX workers are slower to start up. Having these first in the build matrix makes travis faster overall. - os: osx @@ -14,8 +23,7 @@ matrix: - TRAVIS_CUBERITE_BUILD_TYPE=RELEASE CUBERITE_PATH=./Cuberite - os: osx compiler: clang - env: &Debug - - TRAVIS_CUBERITE_BUILD_TYPE=DEBUG CUBERITE_PATH=./Cuberite_debug + env: *Debug # Default clang - compiler: clang env: *Release @@ -23,10 +31,9 @@ matrix: env: *Debug # clang 3.5 - compiler: clang + dist: trusty addons: &clang35 apt: - sources: - - llvm-toolchain-precise-3.5 packages: - clang++-3.5 - clang-3.5 @@ -34,6 +41,7 @@ matrix: - CC=clang-3.5;CXX=clang++-3.5 env: *Release - compiler: clang + dist: trusty addons: *clang35 before_install: - CC=clang-3.5;CXX=clang++-3.5 @@ -56,7 +64,11 @@ matrix: - CC=gcc-4.8;CXX=g++-4.8 env: *Debug +before_script: + - export PATH=$(echo "$PATH" | sed -e 's/:\/usr\/lib\/ccache//') script: ./CIbuild.sh +cache: ccache + notifications: email: diff --git a/CIbuild.sh b/CIbuild.sh index 024457675..9f2145624 100755 --- a/CIbuild.sh +++ b/CIbuild.sh @@ -6,7 +6,14 @@ export CUBERITE_BUILD_SERIES_NAME="Travis $CC $TRAVIS_CUBERITE_BUILD_TYPE" export CUBERITE_BUILD_ID=$TRAVIS_JOB_NUMBER export CUBERITE_BUILD_DATETIME=`date` -cmake . -DBUILD_TOOLS=1 -DSELF_TEST=1; +# Use ccache if available +if [ `which ccache` ]; then + export CCACHE_CPP2=true + CACHE_ARGS="-DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache" + echo "Using ccache installed at $(which ccache)" +fi + +cmake . -DBUILD_TOOLS=1 -DSELF_TEST=1 ${CACHE_ARGS}; echo "Building..." cmake --build . -- -j 2; -- cgit v1.2.3