aboutsummaryrefslogtreecommitdiffstats
path: root/.travis.yml
diff options
context:
space:
mode:
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml126
1 files changed, 54 insertions, 72 deletions
diff --git a/.travis.yml b/.travis.yml
index e71e76d2a..188ef0a81 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,113 +1,86 @@
-dist: trusty
-
-sudo: required
-
language: cpp
-# BEGIN BUILD MATRIX
-#
-# Build matrix must be smaller on branch coverity_scan because quota allows
-# only 5 Coverity Scan jobs at once. Thus we have different versions of this
-# file on branch master and coverity_scan.
-#
-# Please keep this file as much in sync as possible to allow easy merging
-# from master into coverity_scan and only have differences in the build
-# matrix block.
-#
-# Check the difference as follows:
-# $ git checkout master
-# $ git checkout coverity_scan
-# $ git difftool master coverity_scan .travis.yml
os:
- linux
- osx
+dist: trusty
+sudo: required
osx_image: xcode7
compiler:
- clang
- gcc
-git:
- depth: 5
-
env:
global:
+ - CCACHE_SIZE=50M
+ - CCACHE_COMPRESS=1
+ - BUILD_JOBS=2
# SONAR_TOKEN for accessing the SonarQube server
- secure: "VezRbHFg6kllV5WG06M3tG3aHJaC3xrMylJ6RCVbL+uz2JeralVCqV7eIk4fVb9cu83Li+weEa0AJj0wkxpIUJ+vUh5F65L6gSWSbgHP7muOSVsmnEc6KvX4n3av/ZGe4geSmsxqh2pd/2xI1h7KioGRhKeqaZIdjVgWgGJW2iQ="
# GITHUB_TOKEN for posting found issues as comments in the PR that's beeing analyzed by SonarQube
- secure: "Th0mBSkUCDqu+EA6F7zA6DCSDZBNunfndANyq06BwaFlj71daWWjthwYFsfg3T5N2ZmI+PsULQQpOirCnJt1lbNHhMVJwZPkW0JnjoxbSNpSI2+nHv7+GO9X9WjK0LRFawiQu8WxmLMQDA+0oR0BERSFKc3gmbuav9fDfla0dXg="
matrix:
- - TARGETOS="native" MODULES="all" BOOST="n" BUILD_MODE="shared"
- - TARGETOS="native" MODULES="all" BOOST="n" BUILD_MODE="static"
- - TARGETOS="native" MODULES="all" BOOST="n" BUILD_MODE="coverage"
- - TARGETOS="native" MODULES="all" BOOST="n" BUILD_MODE="sanitizer"
- - TARGETOS="native" MODULES="all" BOOST="n" BUILD_MODE="sonarqube"
- - TARGETOS="native" MODULES="all" BOOST="y" BUILD_MODE="shared"
- - TARGETOS="native" MODULES="all" BOOST="y" BUILD_MODE="static"
- - TARGETOS="native" MODULES="all" BOOST="y" BUILD_MODE="coverage"
- - TARGETOS="native" MODULES="all" BOOST="y" BUILD_MODE="sanitizer"
-
- - TARGETOS="native" MODULES="min" BOOST="n" BUILD_MODE="shared"
- - TARGETOS="native" MODULES="min" BOOST="n" BUILD_MODE="static"
- - TARGETOS="native" MODULES="min" BOOST="y" BUILD_MODE="shared"
- - TARGETOS="native" MODULES="min" BOOST="y" BUILD_MODE="static"
-
- - TARGETOS="ios32" MODULES="all" BOOST="n" BUILD_MODE="static"
- - TARGETOS="ios64" MODULES="all" BOOST="n" BUILD_MODE="static"
+ - BUILD_MODE="shared"
+ - BUILD_MODE="static"
+ - BUILD_MODE="coverage"
+ - BUILD_MODE="sanitizer"
+ - BUILD_MODE="sonarqube"
+ - BUILD_MODE="valgrind"
+ - BUILD_MODE="mini-shared"
+ - BUILD_MODE="mini-static"
+ - BUILD_MODE="cross-arm32"
+ - BUILD_MODE="cross-arm64"
+ - BUILD_MODE="cross-ppc32"
+ - BUILD_MODE="cross-ppc64"
+ - BUILD_MODE="cross-win32"
matrix:
+ # Ignore some problem builds for now
+ allow_failures:
+ - os: linux
+ env: BUILD_MODE="cross-ppc32"
+ - os: linux
+ env: BUILD_MODE="cross-ppc64"
+ - os: linux
+ env: BUILD_MODE="cross-win32"
+
exclude:
+ # Skip GCC on OS X entirely
- os: osx
compiler: gcc
- # No boost on Linux because installing Boost is easier on OS X
- - os: linux
- env: TARGETOS="native" MODULES="all" BOOST="y" BUILD_MODE="shared"
- - os: linux
- env: TARGETOS="native" MODULES="all" BOOST="y" BUILD_MODE="static"
- - os: linux
- env: TARGETOS="native" MODULES="all" BOOST="y" BUILD_MODE="coverage"
- - os: linux
- env: TARGETOS="native" MODULES="all" BOOST="y" BUILD_MODE="sanitizer"
- - os: linux
- env: TARGETOS="native" MODULES="min" BOOST="y" BUILD_MODE="shared"
- - os: linux
- env: TARGETOS="native" MODULES="min" BOOST="y" BUILD_MODE="static"
+ # Use LLVM Clang + GCC for ASan/UBsan checks
+ - os: osx
+ env: BUILD_MODE="sanitizer"
- # No coverage, sanitizer and sonarqube on clang
+ # Run coverage, valgrind, sonarqube, minimized and non-ARM cross builds on Linux/gcc only
- compiler: clang
- env: TARGETOS="native" MODULES="all" BOOST="n" BUILD_MODE="coverage"
+ env: BUILD_MODE="coverage"
- compiler: clang
- env: TARGETOS="native" MODULES="all" BOOST="n" BUILD_MODE="sanitizer"
+ env: BUILD_MODE="sonarqube"
- compiler: clang
- env: TARGETOS="native" MODULES="all" BOOST="n" BUILD_MODE="sonarqube"
+ env: BUILD_MODE="valgrind"
- compiler: clang
- env: TARGETOS="native" MODULES="all" BOOST="y" BUILD_MODE="coverage"
+ env: BUILD_MODE="mini-shared"
- compiler: clang
- env: TARGETOS="native" MODULES="all" BOOST="y" BUILD_MODE="sanitizer"
-
- # No minimal builds on clang
+ env: BUILD_MODE="mini-static"
- compiler: clang
- env: TARGETOS="native" MODULES="min" BOOST="n" BUILD_MODE="shared"
+ env: BUILD_MODE="cross-win32"
- compiler: clang
- env: TARGETOS="native" MODULES="min" BOOST="n" BUILD_MODE="static"
+ env: BUILD_MODE="cross-ppc32"
- compiler: clang
- env: TARGETOS="native" MODULES="min" BOOST="y" BUILD_MODE="shared"
- - compiler: clang
- env: TARGETOS="native" MODULES="min" BOOST="y" BUILD_MODE="static"
+ env: BUILD_MODE="cross-ppc64"
+ # No ARM Clang compiler on Linux
- os: linux
- env: TARGETOS="ios32" MODULES="all" BOOST="n" BUILD_MODE="static"
+ compiler: clang
+ env: BUILD_MODE="cross-arm32"
- os: linux
- env: TARGETOS="ios64" MODULES="all" BOOST="n" BUILD_MODE="static"
-# END BUILD MATRIX
-
-cache:
- ccache: true
- directories:
- - $HOME/.sonar/cache
+ compiler: clang
+ env: BUILD_MODE="cross-arm64"
install:
- ./src/scripts/ci/travis/install.sh
@@ -121,6 +94,14 @@ after_success:
notifications:
+git:
+ depth: 5
+
+cache:
+ ccache: true
+ directories:
+ - $HOME/.sonar/cache
+
addons:
sonarqube: true
@@ -131,3 +112,4 @@ addons:
build_command_prepend: "./configure.py --cc-bin=/usr/bin/g++-4.8"
build_command: "make -j2"
branch_pattern: coverity_scan
+