blob: 47579e9afa17f8a9b3e944dd15e7cfa6cd639f86 [file] [log] [blame]
Davide Pesavento4a9395b2018-05-24 00:23:22 -04001language: cpp
2dist: xenial
Alexander Afanasyevf3192eb2016-12-19 17:11:20 -08003env:
4 global:
5 - JOB_NAME=limited-build
Davide Pesaventoc2489b42017-10-28 17:19:08 -04006 - WAF_JOBS=2
7
Alexander Afanasyevf3192eb2016-12-19 17:11:20 -08008matrix:
9 include:
Davide Pesaventoc2489b42017-10-28 17:19:08 -040010 # Linux/gcc
Davide Pesavento4a9395b2018-05-24 00:23:22 -040011 # https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test/+packages
Alexander Afanasyevf3192eb2016-12-19 17:11:20 -080012 - os: linux
Davide Pesavento4a9395b2018-05-24 00:23:22 -040013 env: COMPILER=g++-5
Davide Pesaventoc2489b42017-10-28 17:19:08 -040014 - os: linux
Davide Pesavento4a9395b2018-05-24 00:23:22 -040015 env: COMPILER=g++-6
Davide Pesaventoc2489b42017-10-28 17:19:08 -040016 - os: linux
Davide Pesavento4a9395b2018-05-24 00:23:22 -040017 env: COMPILER=g++-7
Davide Pesaventoc2489b42017-10-28 17:19:08 -040018 - os: linux
Davide Pesavento4a9395b2018-05-24 00:23:22 -040019 env: COMPILER=g++-8
Davide Pesaventoc2489b42017-10-28 17:19:08 -040020
21 # Linux/clang
Davide Pesavento4a9395b2018-05-24 00:23:22 -040022 # https://apt.llvm.org/
Davide Pesaventoc2489b42017-10-28 17:19:08 -040023 - os: linux
Davide Pesavento4a9395b2018-05-24 00:23:22 -040024 env: COMPILER=clang++-3.8
Davide Pesaventoc2489b42017-10-28 17:19:08 -040025 - os: linux
Davide Pesavento4a9395b2018-05-24 00:23:22 -040026 env: COMPILER=clang++-3.9
Davide Pesaventoc2489b42017-10-28 17:19:08 -040027 - os: linux
Davide Pesavento4a9395b2018-05-24 00:23:22 -040028 env: COMPILER=clang++-4.0
Davide Pesaventoc2489b42017-10-28 17:19:08 -040029 - os: linux
Davide Pesavento4a9395b2018-05-24 00:23:22 -040030 env: COMPILER=clang++-5.0
31 - os: linux
32 env: COMPILER=clang++-6.0
Davide Pesavento5188f312019-03-18 18:38:45 -040033 # temporarily disable AddressSanitizer on clang-7 and later
34 # due to https://bugs.llvm.org/show_bug.cgi?id=40808
Davide Pesavento4a9395b2018-05-24 00:23:22 -040035 - os: linux
Davide Pesavento5188f312019-03-18 18:38:45 -040036 env: COMPILER=clang++-7 DISABLE_ASAN=yes
37 - os: linux
38 env: COMPILER=clang++-8 DISABLE_ASAN=yes
39 - os: linux
40 env: COMPILER=clang++-9 DISABLE_ASAN=yes
Davide Pesaventoc2489b42017-10-28 17:19:08 -040041
42 # macOS/clang
Davide Pesavento5188f312019-03-18 18:38:45 -040043 # https://docs.travis-ci.com/user/reference/osx/#macos-version
Davide Pesaventoc2489b42017-10-28 17:19:08 -040044 - os: osx
45 osx_image: xcode8.3
Davide Pesavento4a9395b2018-05-24 00:23:22 -040046 env: OSX_VERSION=10.12
Davide Pesaventoc2489b42017-10-28 17:19:08 -040047 - os: osx
Davide Pesavento5188f312019-03-18 18:38:45 -040048 osx_image: xcode9.2
49 env: OSX_VERSION=10.12
50 - os: osx
51 osx_image: xcode9.4
Davide Pesavento4a9395b2018-05-24 00:23:22 -040052 env: OSX_VERSION=10.13
Davide Pesavento5188f312019-03-18 18:38:45 -040053 - os: osx
54 osx_image: xcode10.1
55 env: OSX_VERSION=10.13
56 - os: osx
57 osx_image: xcode10.2
58 env: OSX_VERSION=10.14
Davide Pesavento4a9395b2018-05-24 00:23:22 -040059
60 allow_failures:
Davide Pesavento5188f312019-03-18 18:38:45 -040061 - env: COMPILER=clang++-9 DISABLE_ASAN=yes
Davide Pesavento4a9395b2018-05-24 00:23:22 -040062
63 fast_finish: true
64
65install: |
66 case ${COMPILER} in
Davide Pesavento5188f312019-03-18 18:38:45 -040067 g++-5)
68 ;;
69 g++-*)
Davide Pesavento4a9395b2018-05-24 00:23:22 -040070 travis_retry sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
71 travis_retry sudo apt-get -qq update
72 travis_retry sudo apt-get -qy install "${COMPILER}"
73 ;;
74 clang++-*)
75 CLANG_VERSION=${COMPILER/clang++}
76 if [[ ${CLANG_VERSION} != "-3."* ]]; then
Davide Pesavento5188f312019-03-18 18:38:45 -040077 travis_retry wget -nv -O - "https://apt.llvm.org/llvm-snapshot.gpg.key" | sudo apt-key add -
78 travis_retry sudo add-apt-repository -y "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial${CLANG_VERSION/-9} main"
Davide Pesavento4a9395b2018-05-24 00:23:22 -040079 fi
80 travis_retry sudo apt-get -qq update
81 travis_retry sudo apt-get -qy install "clang${CLANG_VERSION}"
82 ;;
83 esac
Davide Pesaventoc2489b42017-10-28 17:19:08 -040084
85before_script:
Davide Pesavento4a9395b2018-05-24 00:23:22 -040086 - if [[ ${TRAVIS_OS_NAME} == linux ]]; then export NODE_LABELS="Linux Ubuntu Ubuntu-16.04"; fi
87 - 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