ci: update Travis-CI configuration
* Add clang-6.0 to the build matrix (allowed to fail)
* Upgrade xcode9 to xcode9.2
* Various simplifications
Change-Id: I626006f79bbb7a1a79ec804c66ef30fef1e7cfd2
diff --git a/.jenkins.d/10-build.sh b/.jenkins.d/10-build.sh
index 255c7dd..d6f9e37 100755
--- a/.jenkins.d/10-build.sh
+++ b/.jenkins.d/10-build.sh
@@ -10,6 +10,12 @@
git submodule sync
git submodule update
+if [[ $JOB_NAME == *"code-coverage" ]]; then
+ COVERAGE="--with-coverage"
+elif [[ -z $DISABLE_ASAN ]]; then
+ ASAN="--with-sanitizer=address"
+fi
+
# Cleanup
sudo env "PATH=$PATH" ./waf --color=yes distclean
@@ -30,12 +36,7 @@
fi
# Configure/build in debug mode with tests and without precompiled headers
-if [[ $JOB_NAME == *"code-coverage" ]]; then
- COVERAGE="--with-coverage"
-elif [[ -n $BUILD_WITH_ASAN || -z $TRAVIS ]]; then
- ASAN="--with-sanitizer=address"
-fi
-./waf --color=yes configure --debug --with-tests --without-pch $COVERAGE $ASAN
+./waf --color=yes configure --debug --with-tests --without-pch $ASAN $COVERAGE
./waf --color=yes build -j${WAF_JOBS:-1}
# (tests will be run against debug version)
diff --git a/.travis.yml b/.travis.yml
index 61c1139..5e45e4e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,6 @@
+language: cpp
+dist: trusty
sudo: required
-language: generic
env:
global:
- JOB_NAME=limited-build
@@ -8,150 +9,104 @@
matrix:
include:
# Linux/gcc
+ # https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test/+packages
- os: linux
- dist: trusty
- env:
- - CXX=g++-4.8
- - NODE_LABELS="Linux Ubuntu Ubuntu-14.04"
- - BUILD_WITH_ASAN=yes
+ env: COMPILER=g++-4.8
- os: linux
- dist: trusty
+ env: COMPILER=g++-4.9
addons:
apt:
sources: ubuntu-toolchain-r-test
packages: g++-4.9
- env:
- - CXX=g++-4.9
- - NODE_LABELS="Linux Ubuntu Ubuntu-14.04"
- - BUILD_WITH_ASAN=yes
- os: linux
- dist: trusty
+ env: COMPILER=g++-5
addons:
apt:
sources: ubuntu-toolchain-r-test
packages: g++-5
- env:
- - CXX=g++-5
- - NODE_LABELS="Linux Ubuntu Ubuntu-14.04"
- - BUILD_WITH_ASAN=yes
- os: linux
- dist: trusty
+ env: COMPILER=g++-6
addons:
apt:
sources: ubuntu-toolchain-r-test
packages: g++-6
- env:
- - CXX=g++-6
- - NODE_LABELS="Linux Ubuntu Ubuntu-14.04"
- - BUILD_WITH_ASAN=yes
- os: linux
- dist: trusty
+ env: COMPILER=g++-7
addons:
apt:
sources: ubuntu-toolchain-r-test
packages: g++-7
- env:
- - CXX=g++-7
- - NODE_LABELS="Linux Ubuntu Ubuntu-14.04"
- - BUILD_WITH_ASAN=yes
# Linux/clang
+ # https://apt.llvm.org/
- os: linux
- dist: trusty
+ env: COMPILER=clang++-3.5
addons:
apt:
packages: clang-3.5
- env:
- - CXX=clang++-3.5
- - NODE_LABELS="Linux Ubuntu Ubuntu-14.04"
- - BUILD_WITH_ASAN=yes
- os: linux
- dist: trusty
+ env: COMPILER=clang++-3.6
addons:
apt:
packages: clang-3.6
- env:
- - CXX=clang++-3.6
- - NODE_LABELS="Linux Ubuntu Ubuntu-14.04"
- - BUILD_WITH_ASAN=yes
- os: linux
- dist: trusty
+ env: COMPILER=clang++-3.7 DISABLE_ASAN=yes
addons:
apt:
- sources:
- - llvm-toolchain-precise-3.7
- - ubuntu-toolchain-r-test
+ sources: ["llvm-toolchain-precise-3.7", "ubuntu-toolchain-r-test"]
packages: clang-3.7
- env:
- - CXX=clang++-3.7
- - NODE_LABELS="Linux Ubuntu Ubuntu-14.04"
- os: linux
- dist: trusty
+ env: COMPILER=clang++-3.8
addons:
apt:
- sources:
- - llvm-toolchain-precise-3.8
- - ubuntu-toolchain-r-test
+ sources: ["llvm-toolchain-precise-3.8", "ubuntu-toolchain-r-test"]
packages: clang-3.8
- env:
- - CXX=clang++-3.8
- - NODE_LABELS="Linux Ubuntu Ubuntu-14.04"
- - BUILD_WITH_ASAN=yes
- os: linux
- dist: trusty
+ env: COMPILER=clang++-3.9 DISABLE_ASAN=yes
addons:
apt:
- sources:
- - llvm-toolchain-trusty-3.9
- - ubuntu-toolchain-r-test
+ sources: ["llvm-toolchain-trusty-3.9", "ubuntu-toolchain-r-test"]
packages: clang-3.9
- env:
- - CXX=clang++-3.9
- - NODE_LABELS="Linux Ubuntu Ubuntu-14.04"
- os: linux
- dist: trusty
+ env: COMPILER=clang++-4.0
addons:
apt:
- sources:
- - llvm-toolchain-trusty-4.0
- - ubuntu-toolchain-r-test
+ sources: ["llvm-toolchain-trusty-4.0", "ubuntu-toolchain-r-test"]
packages: clang-4.0
- env:
- - CXX=clang++-4.0
- - NODE_LABELS="Linux Ubuntu Ubuntu-14.04"
- - BUILD_WITH_ASAN=yes
- os: linux
- dist: trusty
+ env: COMPILER=clang++-5.0
addons:
apt:
- sources:
- - llvm-toolchain-trusty-5.0
- - ubuntu-toolchain-r-test
+ sources: ["llvm-toolchain-trusty-5.0", "ubuntu-toolchain-r-test"]
packages: clang-5.0
- env:
- - CXX=clang++-5.0
- - NODE_LABELS="Linux Ubuntu Ubuntu-14.04"
- - BUILD_WITH_ASAN=yes
+ - os: linux
+ env: COMPILER=clang++-6.0
+ addons:
+ apt:
+ sources: ["llvm-toolchain-trusty", "ubuntu-toolchain-r-test"]
+ packages: clang-6.0
# macOS/clang
# https://docs.travis-ci.com/user/osx-ci-environment/#OS-X-Version
- os: osx
osx_image: xcode7.3
- env:
- - NODE_LABELS="OSX OSX-10.11"
- - BUILD_WITH_ASAN=yes
+ env: OSX_VERSION=10.11
- os: osx
osx_image: xcode8.3
- env:
- - NODE_LABELS="OSX OSX-10.12"
- - BUILD_WITH_ASAN=yes
+ env: OSX_VERSION=10.12
- os: osx
- osx_image: xcode9
- env:
- - NODE_LABELS="OSX OSX-10.12"
- - BUILD_WITH_ASAN=yes
+ osx_image: xcode9.2
+ env: OSX_VERSION=10.12
+
+ allow_failures:
+ - env: COMPILER=clang++-6.0
+
+ fast_finish: true
before_script:
+ - if [[ ${TRAVIS_OS_NAME} == linux ]]; then export NODE_LABELS="Linux Ubuntu Ubuntu-14.04"; fi
+ - if [[ ${TRAVIS_OS_NAME} == osx ]]; then export NODE_LABELS="OSX OSX-${OSX_VERSION}"; fi
+ - if [[ -n ${COMPILER} ]]; then export CXX=${COMPILER}; fi
- ${CXX:-c++} --version
- python --version