blob: 136ded451b0ad0996791b10dedbbbf2c24c37362 [file] [log] [blame]
Davide Pesavento759214f2018-03-11 21:03:32 -04001language: cpp
Davide Pesavento98ff2bc2018-05-24 00:10:31 -04002dist: xenial
Alexander Afanasyevf34a3552017-08-13 21:17:05 -04003env:
4 global:
5 - JOB_NAME=limited-build
6 - WAF_JOBS=2
7
8matrix:
9 include:
10 # Linux/gcc
Davide Pesavento759214f2018-03-11 21:03:32 -040011 # https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test/+packages
Alexander Afanasyevf34a3552017-08-13 21:17:05 -040012 - os: linux
Davide Pesavento759214f2018-03-11 21:03:32 -040013 env: COMPILER=g++-5
Alexander Afanasyevf34a3552017-08-13 21:17:05 -040014 - os: linux
Davide Pesavento759214f2018-03-11 21:03:32 -040015 env: COMPILER=g++-6
Alexander Afanasyevf34a3552017-08-13 21:17:05 -040016 - os: linux
Davide Pesavento759214f2018-03-11 21:03:32 -040017 env: COMPILER=g++-7
Davide Pesavento98ff2bc2018-05-24 00:10:31 -040018 - os: linux
19 env: COMPILER=g++-8
Davide Pesavento919f9f22019-07-06 00:43:15 -040020 - os: linux
21 env: COMPILER=g++-9
Alexander Afanasyevf34a3552017-08-13 21:17:05 -040022
23 # Linux/clang
Davide Pesavento759214f2018-03-11 21:03:32 -040024 # https://apt.llvm.org/
Alexander Afanasyevf34a3552017-08-13 21:17:05 -040025 - os: linux
Davide Pesavento759214f2018-03-11 21:03:32 -040026 env: COMPILER=clang++-3.8
Alexander Afanasyevf34a3552017-08-13 21:17:05 -040027 - os: linux
Davide Pesavento98ff2bc2018-05-24 00:10:31 -040028 env: COMPILER=clang++-3.9
Alexander Afanasyevf34a3552017-08-13 21:17:05 -040029 - os: linux
Davide Pesavento759214f2018-03-11 21:03:32 -040030 env: COMPILER=clang++-4.0
Davide Pesavento3c29d632017-09-23 01:52:19 -040031 - os: linux
Davide Pesavento759214f2018-03-11 21:03:32 -040032 env: COMPILER=clang++-5.0
Davide Pesavento759214f2018-03-11 21:03:32 -040033 - os: linux
34 env: COMPILER=clang++-6.0
Davide Pesavento4b76cb42019-03-18 18:46:09 -040035 # temporarily disable AddressSanitizer on clang-7 and later
36 # due to https://bugs.llvm.org/show_bug.cgi?id=40808
Davide Pesavento98ff2bc2018-05-24 00:10:31 -040037 - os: linux
Davide Pesavento4b76cb42019-03-18 18:46:09 -040038 env: COMPILER=clang++-7 DISABLE_ASAN=yes
39 - os: linux
40 env: COMPILER=clang++-8 DISABLE_ASAN=yes
41 - os: linux
42 env: COMPILER=clang++-9 DISABLE_ASAN=yes
Alexander Afanasyevf34a3552017-08-13 21:17:05 -040043
44 # macOS/clang
Davide Pesavento4b76cb42019-03-18 18:46:09 -040045 # https://docs.travis-ci.com/user/reference/osx/#macos-version
Alexander Afanasyevf34a3552017-08-13 21:17:05 -040046 - os: osx
Alexander Afanasyevf34a3552017-08-13 21:17:05 -040047 osx_image: xcode8.3
Davide Pesavento759214f2018-03-11 21:03:32 -040048 env: OSX_VERSION=10.12
Davide Pesavento30ab3ff2017-10-19 01:48:29 -040049 - os: osx
Davide Pesavento4b76cb42019-03-18 18:46:09 -040050 osx_image: xcode9.2
51 env: OSX_VERSION=10.12
52 - os: osx
53 osx_image: xcode9.4
Davide Pesavento759214f2018-03-11 21:03:32 -040054 env: OSX_VERSION=10.13
Davide Pesavento4b76cb42019-03-18 18:46:09 -040055 - os: osx
56 osx_image: xcode10.1
57 env: OSX_VERSION=10.13
58 - os: osx
59 osx_image: xcode10.2
60 env: OSX_VERSION=10.14
Alexander Afanasyevf34a3552017-08-13 21:17:05 -040061
Davide Pesavento98ff2bc2018-05-24 00:10:31 -040062 allow_failures:
Davide Pesavento4b76cb42019-03-18 18:46:09 -040063 - env: COMPILER=clang++-9 DISABLE_ASAN=yes
Davide Pesavento98ff2bc2018-05-24 00:10:31 -040064
65 fast_finish: true
66
67install: |
68 case ${COMPILER} in
Davide Pesavento4b76cb42019-03-18 18:46:09 -040069 g++-5)
70 ;;
71 g++-*)
Davide Pesavento98ff2bc2018-05-24 00:10:31 -040072 travis_retry sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
73 travis_retry sudo apt-get -qq update
74 travis_retry sudo apt-get -qy install "${COMPILER}"
75 ;;
76 clang++-*)
77 CLANG_VERSION=${COMPILER/clang++}
78 if [[ ${CLANG_VERSION} != "-3."* ]]; then
Davide Pesavento4b76cb42019-03-18 18:46:09 -040079 travis_retry wget -nv -O - "https://apt.llvm.org/llvm-snapshot.gpg.key" | sudo apt-key add -
80 travis_retry sudo add-apt-repository -y "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial${CLANG_VERSION/-9} main"
Davide Pesavento98ff2bc2018-05-24 00:10:31 -040081 fi
82 travis_retry sudo apt-get -qq update
83 travis_retry sudo apt-get -qy install "clang${CLANG_VERSION}"
84 ;;
85 esac
86
Alexander Afanasyevf34a3552017-08-13 21:17:05 -040087before_script:
Davide Pesavento98ff2bc2018-05-24 00:10:31 -040088 - if [[ ${TRAVIS_OS_NAME} == linux ]]; then export NODE_LABELS="Linux Ubuntu Ubuntu-16.04"; fi
Davide Pesavento759214f2018-03-11 21:03:32 -040089 - if [[ ${TRAVIS_OS_NAME} == osx ]]; then export NODE_LABELS="OSX OSX-${OSX_VERSION}"; fi
Davide Pesavento4b76cb42019-03-18 18:46:09 -040090 - if [[ ${OSX_VERSION} == 10.12 ]]; then brew update; fi
91 # workaround for https://github.com/Homebrew/homebrew-core/issues/26358
92 - if [[ ${OSX_VERSION} == 10.12 ]]; then brew outdated python || brew upgrade python; fi
93 # workaround for https://github.com/travis-ci/travis-ci/issues/6688
94 - if [[ ${OSX_VERSION} == 10.12 ]]; then /usr/bin/yes | pip2 uninstall numpy || true; fi
Davide Pesavento759214f2018-03-11 21:03:32 -040095 - if [[ -n ${COMPILER} ]]; then export CXX=${COMPILER}; fi
Alexander Afanasyevf34a3552017-08-13 21:17:05 -040096 - ${CXX:-c++} --version
97 - python --version
98
99script:
100 - ./.jenkins