Merge pull request #3649 from liushuyu/ci-cache
travis: use ccache to speed up build
This commit is contained in:
		@@ -25,6 +25,7 @@ matrix:
 | 
			
		||||
      install: "./.travis/linux/deps.sh"
 | 
			
		||||
      script: "./.travis/linux/build.sh"
 | 
			
		||||
      after_success: "./.travis/linux/upload.sh"
 | 
			
		||||
      cache: ccache
 | 
			
		||||
    - if: branch = master AND type = push
 | 
			
		||||
      os: linux
 | 
			
		||||
      env: NAME="transifex push"
 | 
			
		||||
@@ -40,11 +41,13 @@ matrix:
 | 
			
		||||
      install: "./.travis/macos/deps.sh"
 | 
			
		||||
      script: "./.travis/macos/build.sh"
 | 
			
		||||
      after_success: "./.travis/macos/upload.sh"
 | 
			
		||||
      cache: ccache
 | 
			
		||||
    - os: linux
 | 
			
		||||
      env: NAME="linux build (frozen versions of dependencies)"
 | 
			
		||||
      sudo: required
 | 
			
		||||
      dist: trusty
 | 
			
		||||
      services: docker
 | 
			
		||||
      cache: ccache
 | 
			
		||||
      script: "./.travis/linux-frozen/build.sh"
 | 
			
		||||
 | 
			
		||||
deploy:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
#!/bin/bash -ex
 | 
			
		||||
 | 
			
		||||
mkdir -p "$HOME/.ccache"
 | 
			
		||||
docker pull ubuntu:18.04
 | 
			
		||||
docker run -e ENABLE_COMPATIBILITY_REPORTING -v $(pwd):/citra ubuntu:18.04 /bin/bash -ex /citra/.travis/linux-frozen/docker.sh
 | 
			
		||||
docker run -e ENABLE_COMPATIBILITY_REPORTING -v $(pwd):/citra -v "$HOME/.ccache":/root/.ccache ubuntu:18.04 /bin/bash -ex /citra/.travis/linux-frozen/docker.sh
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,7 @@
 | 
			
		||||
cd /citra
 | 
			
		||||
 | 
			
		||||
apt-get update
 | 
			
		||||
apt-get install -y build-essential wget git python-launchpadlib
 | 
			
		||||
apt-get install -y build-essential wget git python-launchpadlib ccache
 | 
			
		||||
 | 
			
		||||
# Install specific versions of packages with their dependencies
 | 
			
		||||
# The apt repositories remove older versions regularly, so we can't use
 | 
			
		||||
@@ -20,7 +20,7 @@ echo y | sh cmake-3.10.1-Linux-x86_64.sh --prefix=cmake
 | 
			
		||||
export PATH=/citra/cmake/cmake-3.10.1-Linux-x86_64/bin:$PATH
 | 
			
		||||
 | 
			
		||||
mkdir build && cd build
 | 
			
		||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DCITRA_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"}
 | 
			
		||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/lib/ccache/gcc -DCMAKE_CXX_COMPILER=/usr/lib/ccache/g++ -DCITRA_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"}
 | 
			
		||||
make -j4
 | 
			
		||||
 | 
			
		||||
ctest -VV -C Release
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,3 @@
 | 
			
		||||
#!/bin/bash -ex
 | 
			
		||||
 | 
			
		||||
docker run -e ENABLE_COMPATIBILITY_REPORTING -v $(pwd):/citra ubuntu:18.04 /bin/bash -ex /citra/.travis/linux/docker.sh
 | 
			
		||||
mkdir -p "$HOME/.ccache"
 | 
			
		||||
docker run -e ENABLE_COMPATIBILITY_REPORTING -v $(pwd):/citra -v "$HOME/.ccache":/root/.ccache ubuntu:18.04 /bin/bash -ex /citra/.travis/linux/docker.sh
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,7 @@
 | 
			
		||||
cd /citra
 | 
			
		||||
 | 
			
		||||
apt-get update
 | 
			
		||||
apt-get install -y build-essential libsdl2-dev qtbase5-dev libqt5opengl5-dev qttools5-dev qttools5-dev-tools wget git
 | 
			
		||||
apt-get install -y build-essential libsdl2-dev qtbase5-dev libqt5opengl5-dev qttools5-dev qttools5-dev-tools wget git ccache
 | 
			
		||||
 | 
			
		||||
# Get a recent version of CMake
 | 
			
		||||
wget https://cmake.org/files/v3.10/cmake-3.10.1-Linux-x86_64.sh
 | 
			
		||||
@@ -11,7 +11,7 @@ echo y | sh cmake-3.10.1-Linux-x86_64.sh --prefix=cmake
 | 
			
		||||
export PATH=/citra/cmake/cmake-3.10.1-Linux-x86_64/bin:$PATH
 | 
			
		||||
 | 
			
		||||
mkdir build && cd build
 | 
			
		||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_QT_TRANSLATION=ON -DCITRA_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"}
 | 
			
		||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/lib/ccache/gcc -DCMAKE_CXX_COMPILER=/usr/lib/ccache/g++ -DENABLE_QT_TRANSLATION=ON -DCITRA_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"}
 | 
			
		||||
make -j4
 | 
			
		||||
 | 
			
		||||
ctest -VV -C Release
 | 
			
		||||
 
 | 
			
		||||
@@ -4,6 +4,7 @@ set -o pipefail
 | 
			
		||||
 | 
			
		||||
export MACOSX_DEPLOYMENT_TARGET=10.12
 | 
			
		||||
export Qt5_DIR=$(brew --prefix)/opt/qt5
 | 
			
		||||
export PATH="/usr/local/opt/ccache/libexec:$PATH"
 | 
			
		||||
 | 
			
		||||
mkdir build && cd build
 | 
			
		||||
cmake .. -DCMAKE_OSX_ARCHITECTURES="x86_64;x86_64h" -DCMAKE_BUILD_TYPE=Release -DENABLE_QT_TRANSLATION=ON -DCITRA_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
#!/bin/sh -ex
 | 
			
		||||
 | 
			
		||||
brew update
 | 
			
		||||
brew install qt5 sdl2 dylibbundler p7zip
 | 
			
		||||
brew install qt5 sdl2 dylibbundler p7zip ccache
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user