blob: 7606e89289ef7ff1a57c42b780e2a81f5394658b [file] [log] [blame]
Davide Pesaventoee18cce2018-01-11 01:58:02 -05001language: cpp
Davide Pesavento64cafaa2018-05-24 00:50:41 -04002dist: xenial
Davide Pesavento2a7f32b2017-09-02 13:48:13 -04003env:
4 global:
5 - WAF_JOBS=2
6
7matrix:
8 include:
9 # Linux/gcc
Davide Pesaventoee18cce2018-01-11 01:58:02 -050010 # https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test/+packages
Davide Pesavento2a7f32b2017-09-02 13:48:13 -040011 - os: linux
Davide Pesaventoee18cce2018-01-11 01:58:02 -050012 env: COMPILER=g++-5
Davide Pesavento2a7f32b2017-09-02 13:48:13 -040013 - os: linux
Davide Pesaventoee18cce2018-01-11 01:58:02 -050014 env: COMPILER=g++-6
Davide Pesavento2a7f32b2017-09-02 13:48:13 -040015 - os: linux
Davide Pesaventoee18cce2018-01-11 01:58:02 -050016 env: COMPILER=g++-7
Davide Pesavento64cafaa2018-05-24 00:50:41 -040017 - os: linux
18 env: COMPILER=g++-8
Davide Pesavento2a7f32b2017-09-02 13:48:13 -040019
20 # Linux/clang
Davide Pesaventoee18cce2018-01-11 01:58:02 -050021 # https://apt.llvm.org/
Davide Pesavento2a7f32b2017-09-02 13:48:13 -040022 - os: linux
Davide Pesaventoee18cce2018-01-11 01:58:02 -050023 env: COMPILER=clang++-3.8
Davide Pesavento2a7f32b2017-09-02 13:48:13 -040024 - os: linux
Davide Pesaventoee18cce2018-01-11 01:58:02 -050025 env: COMPILER=clang++-3.9
Davide Pesavento2a7f32b2017-09-02 13:48:13 -040026 - os: linux
Davide Pesaventoee18cce2018-01-11 01:58:02 -050027 env: COMPILER=clang++-4.0
Davide Pesavento74de1452017-10-19 01:43:02 -040028 - os: linux
Davide Pesaventoee18cce2018-01-11 01:58:02 -050029 env: COMPILER=clang++-5.0
Davide Pesavento64cafaa2018-05-24 00:50:41 -040030 - os: linux
31 env: COMPILER=clang++-6.0
Davide Pesavento58c07d12019-03-20 00:58:50 -040032 # temporarily disable AddressSanitizer on clang-7 and later
33 # due to https://bugs.llvm.org/show_bug.cgi?id=40808
Davide Pesavento64cafaa2018-05-24 00:50:41 -040034 - os: linux
Davide Pesavento58c07d12019-03-20 00:58:50 -040035 env: COMPILER=clang++-7 DISABLE_ASAN=yes
Davide Pesavento7eaed5c2019-01-09 20:03:43 -050036 - os: linux
Davide Pesavento58c07d12019-03-20 00:58:50 -040037 env: COMPILER=clang++-8 DISABLE_ASAN=yes
38 - os: linux
39 env: COMPILER=clang++-9 DISABLE_ASAN=yes
Davide Pesavento2a7f32b2017-09-02 13:48:13 -040040
41 # macOS/clang
Davide Pesavento58c07d12019-03-20 00:58:50 -040042 # https://docs.travis-ci.com/user/reference/osx/#macos-version
Davide Pesavento2a7f32b2017-09-02 13:48:13 -040043 - os: osx
Davide Pesavento2a7f32b2017-09-02 13:48:13 -040044 osx_image: xcode8.3
Davide Pesaventoee18cce2018-01-11 01:58:02 -050045 env: OSX_VERSION=10.12
Davide Pesavento74de1452017-10-19 01:43:02 -040046 - os: osx
Davide Pesavento7eaed5c2019-01-09 20:03:43 -050047 osx_image: xcode9.2
48 env: OSX_VERSION=10.12
49 - os: osx
50 osx_image: xcode9.4
51 env: OSX_VERSION=10.13
52 - os: osx
53 osx_image: xcode10.1
Davide Pesavento64cafaa2018-05-24 00:50:41 -040054 env: OSX_VERSION=10.13
Davide Pesavento58c07d12019-03-20 00:58:50 -040055 - os: osx
56 osx_image: xcode10.2
57 env: OSX_VERSION=10.14
Davide Pesavento64cafaa2018-05-24 00:50:41 -040058
59 allow_failures:
Davide Pesavento58c07d12019-03-20 00:58:50 -040060 - env: COMPILER=clang++-9 DISABLE_ASAN=yes
Davide Pesavento64cafaa2018-05-24 00:50:41 -040061
62 fast_finish: true
63
64install: |
65 case ${COMPILER} in
Davide Pesavento58c07d12019-03-20 00:58:50 -040066 g++-5)
67 ;;
68 g++-*)
Davide Pesavento64cafaa2018-05-24 00:50:41 -040069 travis_retry sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
70 travis_retry sudo apt-get -qq update
71 travis_retry sudo apt-get -qy install "${COMPILER}"
72 ;;
73 clang++-*)
74 CLANG_VERSION=${COMPILER/clang++}
75 if [[ ${CLANG_VERSION} != "-3."* ]]; then
Davide Pesavento7eaed5c2019-01-09 20:03:43 -050076 travis_retry wget -nv -O - "https://apt.llvm.org/llvm-snapshot.gpg.key" | sudo apt-key add -
Davide Pesavento58c07d12019-03-20 00:58:50 -040077 travis_retry sudo add-apt-repository -y "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial${CLANG_VERSION/-9} main"
Davide Pesavento64cafaa2018-05-24 00:50:41 -040078 fi
79 travis_retry sudo apt-get -qq update
80 travis_retry sudo apt-get -qy install "clang${CLANG_VERSION}"
81 ;;
82 esac
Davide Pesavento2a7f32b2017-09-02 13:48:13 -040083
84before_script:
Davide Pesavento64cafaa2018-05-24 00:50:41 -040085 - if [[ ${TRAVIS_OS_NAME} == linux ]]; then export NODE_LABELS="Linux Ubuntu Ubuntu-16.04"; fi
Davide Pesaventoee18cce2018-01-11 01:58:02 -050086 - if [[ ${TRAVIS_OS_NAME} == osx ]]; then export NODE_LABELS="OSX OSX-${OSX_VERSION}"; fi
Davide Pesavento7eaed5c2019-01-09 20:03:43 -050087 - if [[ ${OSX_VERSION} == 10.12 ]]; then brew update; fi
88 # workaround for https://github.com/Homebrew/homebrew-core/issues/26358
89 - if [[ ${OSX_VERSION} == 10.12 ]]; then brew outdated python || brew upgrade python; fi
90 # workaround for https://github.com/travis-ci/travis-ci/issues/6688
91 - if [[ ${OSX_VERSION} == 10.12 ]]; then /usr/bin/yes | pip2 uninstall numpy || true; fi
Davide Pesaventoee18cce2018-01-11 01:58:02 -050092 - if [[ -n ${COMPILER} ]]; then export CXX=${COMPILER}; fi
Davide Pesavento2a7f32b2017-09-02 13:48:13 -040093 - ${CXX:-c++} --version
94 - python --version
95
96script:
97 - ./.jenkins