blob: ed53635af35f4c407279936e751113023f52fbc3 [file] [log] [blame]
Davide Pesavento4a9395b2018-05-24 00:23:22 -04001language: cpp
Davide Pesaventodfd704a2019-09-26 00:17:11 -04002dist: bionic
Alexander Afanasyevf3192eb2016-12-19 17:11:20 -08003env:
4 global:
Davide Pesaventoc2489b42017-10-28 17:19:08 -04005 - WAF_JOBS=2
6
Alexander Afanasyevf3192eb2016-12-19 17:11:20 -08007matrix:
8 include:
Davide Pesaventoc2489b42017-10-28 17:19:08 -04009 # Linux/gcc
Davide Pesavento4a9395b2018-05-24 00:23:22 -040010 # https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test/+packages
Alexander Afanasyevf3192eb2016-12-19 17:11:20 -080011 - os: linux
Davide Pesavento4a9395b2018-05-24 00:23:22 -040012 env: COMPILER=g++-5
Davide Pesaventoc2489b42017-10-28 17:19:08 -040013 - os: linux
Davide Pesavento4a9395b2018-05-24 00:23:22 -040014 env: COMPILER=g++-6
Davide Pesaventoc2489b42017-10-28 17:19:08 -040015 - os: linux
Davide Pesavento4a9395b2018-05-24 00:23:22 -040016 env: COMPILER=g++-7
Davide Pesaventoc2489b42017-10-28 17:19:08 -040017 - os: linux
Davide Pesavento4a9395b2018-05-24 00:23:22 -040018 env: COMPILER=g++-8
Davide Pesavento4db56c82019-06-23 19:42:05 -040019 - os: linux
20 env: COMPILER=g++-9
Davide Pesaventoc2489b42017-10-28 17:19:08 -040021
22 # Linux/clang
Davide Pesavento4a9395b2018-05-24 00:23:22 -040023 # https://apt.llvm.org/
Davide Pesaventoc2489b42017-10-28 17:19:08 -040024 - os: linux
Davide Pesavento4a9395b2018-05-24 00:23:22 -040025 env: COMPILER=clang++-3.9
Davide Pesaventoc2489b42017-10-28 17:19:08 -040026 - os: linux
Davide Pesavento4a9395b2018-05-24 00:23:22 -040027 env: COMPILER=clang++-4.0
Davide Pesaventoc2489b42017-10-28 17:19:08 -040028 - os: linux
Davide Pesavento4a9395b2018-05-24 00:23:22 -040029 env: COMPILER=clang++-5.0
30 - os: linux
31 env: COMPILER=clang++-6.0
Davide Pesaventodfd704a2019-09-26 00:17:11 -040032 # disable AddressSanitizer with clang 7 and 8
Davide Pesavento5188f312019-03-18 18:38:45 -040033 # due to https://bugs.llvm.org/show_bug.cgi?id=40808
Davide Pesavento4a9395b2018-05-24 00:23:22 -040034 - os: linux
Davide Pesavento5188f312019-03-18 18:38:45 -040035 env: COMPILER=clang++-7 DISABLE_ASAN=yes
36 - os: linux
37 env: COMPILER=clang++-8 DISABLE_ASAN=yes
38 - os: linux
Davide Pesaventodfd704a2019-09-26 00:17:11 -040039 env: COMPILER=clang++-9
40 - os: linux
41 env: COMPILER=clang++-10
Davide Pesaventoc2489b42017-10-28 17:19:08 -040042
43 # macOS/clang
Davide Pesavento5188f312019-03-18 18:38:45 -040044 # https://docs.travis-ci.com/user/reference/osx/#macos-version
Davide Pesaventoc2489b42017-10-28 17:19:08 -040045 - os: osx
Davide Pesavento5188f312019-03-18 18:38:45 -040046 osx_image: xcode9.2
47 env: OSX_VERSION=10.12
48 - os: osx
49 osx_image: xcode9.4
Davide Pesavento4a9395b2018-05-24 00:23:22 -040050 env: OSX_VERSION=10.13
Davide Pesavento5188f312019-03-18 18:38:45 -040051 - os: osx
52 osx_image: xcode10.1
53 env: OSX_VERSION=10.13
54 - os: osx
Davide Pesaventodfd704a2019-09-26 00:17:11 -040055 osx_image: xcode10.3
56 env: OSX_VERSION=10.14
57 - os: osx
58 osx_image: xcode11
Davide Pesavento5188f312019-03-18 18:38:45 -040059 env: OSX_VERSION=10.14
Davide Pesavento4a9395b2018-05-24 00:23:22 -040060
61 allow_failures:
Davide Pesaventodfd704a2019-09-26 00:17:11 -040062 - env: COMPILER=clang++-10
Davide Pesavento4a9395b2018-05-24 00:23:22 -040063
64 fast_finish: true
65
Davide Pesaventodfd704a2019-09-26 00:17:11 -040066before_install: |
Davide Pesavento4a9395b2018-05-24 00:23:22 -040067 case ${COMPILER} in
Davide Pesaventodfd704a2019-09-26 00:17:11 -040068 g++-[567]|clang++-[3456].*)
Davide Pesavento5188f312019-03-18 18:38:45 -040069 ;;
70 g++-*)
Davide Pesavento4a9395b2018-05-24 00:23:22 -040071 travis_retry sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
72 travis_retry sudo apt-get -qq update
Davide Pesavento4a9395b2018-05-24 00:23:22 -040073 ;;
74 clang++-*)
Davide Pesaventodfd704a2019-09-26 00:17:11 -040075 LLVM_REPO=${COMPILER/clang++/llvm-toolchain-${TRAVIS_DIST}}
76 travis_retry wget -nv -O - "https://apt.llvm.org/llvm-snapshot.gpg.key" | sudo apt-key add -
77 travis_retry sudo add-apt-repository -y "deb http://apt.llvm.org/${TRAVIS_DIST}/ ${LLVM_REPO%-10} main"
Davide Pesavento4a9395b2018-05-24 00:23:22 -040078 travis_retry sudo apt-get -qq update
Davide Pesavento4a9395b2018-05-24 00:23:22 -040079 ;;
80 esac
Davide Pesaventoc2489b42017-10-28 17:19:08 -040081
Davide Pesaventodfd704a2019-09-26 00:17:11 -040082install:
83 - if [[ -n ${COMPILER} ]]; then travis_retry sudo apt-get -qy install "${COMPILER/clang++/clang}"; fi
84
Davide Pesaventoc2489b42017-10-28 17:19:08 -040085before_script:
Davide Pesaventodfd704a2019-09-26 00:17:11 -040086 - if [[ ${TRAVIS_OS_NAME} == linux ]]; then export NODE_LABELS="Linux Ubuntu Ubuntu-18.04"; fi
Davide Pesavento4a9395b2018-05-24 00:23:22 -040087 - if [[ ${TRAVIS_OS_NAME} == osx ]]; then export NODE_LABELS="OSX OSX-${OSX_VERSION}"; fi
Davide Pesavento5188f312019-03-18 18:38:45 -040088 - if [[ ${OSX_VERSION} == 10.12 ]]; then brew update; fi
89 # workaround for https://github.com/Homebrew/homebrew-core/issues/26358
90 - if [[ ${OSX_VERSION} == 10.12 ]]; then brew outdated python || brew upgrade python; fi
91 # workaround for https://github.com/travis-ci/travis-ci/issues/6688
92 - if [[ ${OSX_VERSION} == 10.12 ]]; then /usr/bin/yes | pip2 uninstall numpy || true; fi
Davide Pesavento4a9395b2018-05-24 00:23:22 -040093 - if [[ -n ${COMPILER} ]]; then export CXX=${COMPILER}; fi
Davide Pesaventoc2489b42017-10-28 17:19:08 -040094 - ${CXX:-c++} --version
95 - python --version
96
Yingdi Yu906c2ea2014-10-31 11:24:50 -070097script:
98 - ./.jenkins