blob: ddc43d72ce9b868d708db200d9182b333343f428 [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 -04003sudo: required
Davide Pesavento2a7f32b2017-09-02 13:48:13 -04004env:
5 global:
6 - WAF_JOBS=2
7
8matrix:
9 include:
10 # Linux/gcc
Davide Pesaventoee18cce2018-01-11 01:58:02 -050011 # https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test/+packages
Davide Pesavento2a7f32b2017-09-02 13:48:13 -040012 - os: linux
Davide Pesaventoee18cce2018-01-11 01:58:02 -050013 env: COMPILER=g++-5
Davide Pesavento2a7f32b2017-09-02 13:48:13 -040014 - os: linux
Davide Pesaventoee18cce2018-01-11 01:58:02 -050015 env: COMPILER=g++-6
Davide Pesavento2a7f32b2017-09-02 13:48:13 -040016 - os: linux
Davide Pesaventoee18cce2018-01-11 01:58:02 -050017 env: COMPILER=g++-7
Davide Pesavento64cafaa2018-05-24 00:50:41 -040018 - os: linux
19 env: COMPILER=g++-8
Davide Pesavento2a7f32b2017-09-02 13:48:13 -040020
21 # Linux/clang
Davide Pesaventoee18cce2018-01-11 01:58:02 -050022 # https://apt.llvm.org/
Davide Pesavento2a7f32b2017-09-02 13:48:13 -040023 - os: linux
Davide Pesaventoee18cce2018-01-11 01:58:02 -050024 env: COMPILER=clang++-3.6
Davide Pesavento2a7f32b2017-09-02 13:48:13 -040025 - os: linux
Davide Pesavento64cafaa2018-05-24 00:50:41 -040026 env: COMPILER=clang++-3.7 DISABLE_ASAN=yes
Davide Pesavento2a7f32b2017-09-02 13:48:13 -040027 - os: linux
Davide Pesaventoee18cce2018-01-11 01:58:02 -050028 env: COMPILER=clang++-3.8
Davide Pesavento2a7f32b2017-09-02 13:48:13 -040029 - os: linux
Davide Pesaventoee18cce2018-01-11 01:58:02 -050030 env: COMPILER=clang++-3.9
Davide Pesavento2a7f32b2017-09-02 13:48:13 -040031 - os: linux
Davide Pesaventoee18cce2018-01-11 01:58:02 -050032 env: COMPILER=clang++-4.0
Davide Pesavento74de1452017-10-19 01:43:02 -040033 - os: linux
Davide Pesaventoee18cce2018-01-11 01:58:02 -050034 env: COMPILER=clang++-5.0
Davide Pesavento64cafaa2018-05-24 00:50:41 -040035 - os: linux
36 env: COMPILER=clang++-6.0
37 - os: linux
38 env: COMPILER=clang++-7
Davide Pesavento7eaed5c2019-01-09 20:03:43 -050039 - os: linux
40 env: COMPILER=clang++-8
Davide Pesavento2a7f32b2017-09-02 13:48:13 -040041
42 # macOS/clang
Davide Pesavento64cafaa2018-05-24 00:50:41 -040043 # https://docs.travis-ci.com/user/reference/osx/#OS-X-Version
Davide Pesavento2a7f32b2017-09-02 13:48:13 -040044 - os: osx
Davide Pesavento2a7f32b2017-09-02 13:48:13 -040045 osx_image: xcode8.3
Davide Pesaventoee18cce2018-01-11 01:58:02 -050046 env: OSX_VERSION=10.12
Davide Pesavento74de1452017-10-19 01:43:02 -040047 - os: osx
Davide Pesavento7eaed5c2019-01-09 20:03:43 -050048 osx_image: xcode9.2
49 env: OSX_VERSION=10.12
50 - os: osx
51 osx_image: xcode9.4
52 env: OSX_VERSION=10.13
53 - os: osx
54 osx_image: xcode10.1
Davide Pesavento64cafaa2018-05-24 00:50:41 -040055 env: OSX_VERSION=10.13
56
57 allow_failures:
Davide Pesavento64cafaa2018-05-24 00:50:41 -040058 - env: COMPILER=clang++-3.6
59 - env: COMPILER=clang++-3.7 DISABLE_ASAN=yes
Davide Pesavento7eaed5c2019-01-09 20:03:43 -050060 - env: COMPILER=clang++-8
Davide Pesavento64cafaa2018-05-24 00:50:41 -040061
62 fast_finish: true
63
64install: |
65 case ${COMPILER} in
66 g++-[6789])
67 travis_retry sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
68 travis_retry sudo apt-get -qq update
69 travis_retry sudo apt-get -qy install "${COMPILER}"
70 ;;
71 clang++-*)
72 CLANG_VERSION=${COMPILER/clang++}
73 if [[ ${CLANG_VERSION} != "-3."* ]]; then
Davide Pesavento7eaed5c2019-01-09 20:03:43 -050074 travis_retry wget -nv -O - "https://apt.llvm.org/llvm-snapshot.gpg.key" | sudo apt-key add -
75 travis_retry sudo add-apt-repository -y "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial${CLANG_VERSION/-8} main"
Davide Pesavento64cafaa2018-05-24 00:50:41 -040076 fi
77 travis_retry sudo apt-get -qq update
78 travis_retry sudo apt-get -qy install "clang${CLANG_VERSION}"
79 ;;
80 esac
Davide Pesavento2a7f32b2017-09-02 13:48:13 -040081
82before_script:
Davide Pesavento64cafaa2018-05-24 00:50:41 -040083 - if [[ ${TRAVIS_OS_NAME} == linux ]]; then export NODE_LABELS="Linux Ubuntu Ubuntu-16.04"; fi
Davide Pesaventoee18cce2018-01-11 01:58:02 -050084 - if [[ ${TRAVIS_OS_NAME} == osx ]]; then export NODE_LABELS="OSX OSX-${OSX_VERSION}"; fi
Davide Pesavento7eaed5c2019-01-09 20:03:43 -050085 - if [[ ${OSX_VERSION} == 10.12 ]]; then brew update; fi
86 # workaround for https://github.com/Homebrew/homebrew-core/issues/26358
87 - if [[ ${OSX_VERSION} == 10.12 ]]; then brew outdated python || brew upgrade python; fi
88 # workaround for https://github.com/travis-ci/travis-ci/issues/6688
89 - if [[ ${OSX_VERSION} == 10.12 ]]; then /usr/bin/yes | pip2 uninstall numpy || true; fi
Davide Pesaventoee18cce2018-01-11 01:58:02 -050090 - if [[ -n ${COMPILER} ]]; then export CXX=${COMPILER}; fi
Davide Pesavento2a7f32b2017-09-02 13:48:13 -040091 - ${CXX:-c++} --version
92 - python --version
93
94script:
95 - ./.jenkins