summaryrefslogtreecommitdiffstats
path: root/.travis.yml
diff options
context:
space:
mode:
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml91
1 files changed, 62 insertions, 29 deletions
diff --git a/.travis.yml b/.travis.yml
index 759de03f9..481dcf078 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,40 +1,73 @@
language: cpp
sudo: false
-os:
-- linux
-- osx
-
-compiler:
-- clang
-- gcc
+# Use Linux by default
+os: linux
matrix:
- exclude:
- - os: osx
- compiler: gcc
-
-addons:
- apt:
- sources:
- - ubuntu-toolchain-r-test
- packages:
- - g++-4.8
- - gdb
-
-
-before_script:
-- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then
- brew update;
- brew install gdb;
- fi
+ include:
+ # AppleClang
+ # OSX workers are slower to start up. Having these first in the build matrix makes travis faster overall.
+ - os: osx
+ compiler: clang
+ env: &Release
+ - TRAVIS_CUBERITE_BUILD_TYPE=RELEASE CUBERITE_PATH=./Cuberite
+ - os: osx
+ compiler: clang
+ env: &Debug
+ - TRAVIS_CUBERITE_BUILD_TYPE=DEBUG CUBERITE_PATH=./Cuberite_debug
+ # Default clang
+ - compiler: clang
+ addons: &gdb
+ apt:
+ sources:
+ - ubuntu-toolchain-r-test
+ packages:
+ - gdb
+ env: *Release
+ - compiler: clang
+ addons: *gdb
+ env: *Debug
+ # clang 3.5
+ - compiler: clang
+ addons: &clang35
+ apt:
+ sources:
+ - ubuntu-toolchain-r-test
+ - llvm-toolchain-precise-3.5
+ packages:
+ - clang++-3.5
+ - clang-3.5
+ - gdb
+ before_install:
+ - CC=clang-3.5;CXX=clang++-3.5
+ env: *Release
+ - compiler: clang
+ addons: *clang35
+ before_install:
+ - CC=clang-3.5;CXX=clang++-3.5
+ env: *Debug
+ # gcc 4.8
+ - compiler: gcc
+ addons: &gcc48
+ apt:
+ sources:
+ - ubuntu-toolchain-r-test
+ packages:
+ - g++-4.8
+ - gcc-4.8
+ - gdb
+ before_install:
+ - CC=gcc-4.8;CXX=g++-4.8
+ env: *Release
+ - compiler: gcc
+ addons: *gcc48
+ before_install:
+ - CC=gcc-4.8;CXX=g++-4.8
+ env: *Debug
script: ./CIbuild.sh
-env:
- - TRAVIS_CUBERITE_BUILD_TYPE=RELEASE CUBERITE_PATH=./Cuberite
- - TRAVIS_CUBERITE_BUILD_TYPE=DEBUG CUBERITE_PATH=./Cuberite_debug
-
notifications:
email:
on_success: change