blob: 3a459c5410ca7a1636c541a3b5dee341ce74d5d8 [file] [log] [blame]
Davide Pesavento9a659d02018-01-10 02:55:43 -05001language: cpp
Davide Pesaventocbef7b82019-10-09 00:15:13 -04002dist: bionic
Eric Newberry9737aa82016-12-27 23:03:49 -07003env:
4 global:
Davide Pesavento44660cf2017-08-16 00:44:23 -04005 - WAF_JOBS=2
Davide Pesaventof085ed12017-06-30 14:59:52 -04006
Alexander Afanasyev8a3081f2015-08-31 13:27:15 -07007matrix:
Davide Pesavento4a1edc62016-05-03 18:03:19 +02008 include:
Davide Pesaventof085ed12017-06-30 14:59:52 -04009 # Linux/gcc
Davide Pesavento9a659d02018-01-10 02:55:43 -050010 # https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test/+packages
Alexander Afanasyev8a3081f2015-08-31 13:27:15 -070011 - os: linux
Davide Pesavento9a659d02018-01-10 02:55:43 -050012 env: COMPILER=g++-5
Davide Pesaventof085ed12017-06-30 14:59:52 -040013 - os: linux
Davide Pesavento9a659d02018-01-10 02:55:43 -050014 env: COMPILER=g++-6
Davide Pesaventof085ed12017-06-30 14:59:52 -040015 - os: linux
Davide Pesavento9a659d02018-01-10 02:55:43 -050016 env: COMPILER=g++-7
Davide Pesavento79d12c62018-04-30 19:28:46 -040017 - os: linux
18 env: COMPILER=g++-8
Davide Pesavento0353bae2019-06-23 19:18:08 -040019 - os: linux
20 env: COMPILER=g++-9
Davide Pesaventof085ed12017-06-30 14:59:52 -040021
22 # Linux/clang
Davide Pesavento9a659d02018-01-10 02:55:43 -050023 # https://apt.llvm.org/
Davide Pesaventof085ed12017-06-30 14:59:52 -040024 - os: linux
Davide Pesavento26ea1ac2018-05-10 20:20:03 -040025 env: COMPILER=clang++-3.9
Davide Pesaventof085ed12017-06-30 14:59:52 -040026 - os: linux
Davide Pesavento9a659d02018-01-10 02:55:43 -050027 env: COMPILER=clang++-4.0
Davide Pesaventob5e06e62017-09-15 22:30:01 -040028 - os: linux
Davide Pesavento9a659d02018-01-10 02:55:43 -050029 env: COMPILER=clang++-5.0
Davide Pesavento9a659d02018-01-10 02:55:43 -050030 - os: linux
31 env: COMPILER=clang++-6.0
Davide Pesaventoc1eb2fc2019-07-17 15:44:33 -040032 # disable AddressSanitizer with clang 7 and 8
Davide Pesaventoc16ec572019-03-18 18:40:48 -040033 # due to https://bugs.llvm.org/show_bug.cgi?id=40808
Davide Pesaventoe7d95a72018-03-11 20:54:08 -040034 - os: linux
Davide Pesaventoc16ec572019-03-18 18:40:48 -040035 env: COMPILER=clang++-7 DISABLE_ASAN=yes
Davide Pesavento88beb4d2018-09-11 18:14:18 -040036 - os: linux
Davide Pesaventoc16ec572019-03-18 18:40:48 -040037 env: COMPILER=clang++-8 DISABLE_ASAN=yes
38 - os: linux
Davide Pesaventoc1eb2fc2019-07-17 15:44:33 -040039 env: COMPILER=clang++-9
Davide Pesaventocbef7b82019-10-09 00:15:13 -040040 - os: linux
41 env: COMPILER=clang++-10
Davide Pesaventof085ed12017-06-30 14:59:52 -040042
43 # macOS/clang
Davide Pesaventoc16ec572019-03-18 18:40:48 -040044 # https://docs.travis-ci.com/user/reference/osx/#macos-version
Davide Pesavento302941e2018-07-21 18:55:56 -040045 - os: osx
Davide Pesavento302941e2018-07-21 18:55:56 -040046 osx_image: xcode9.2
47 env: OSX_VERSION=10.12
48 - os: osx
49 osx_image: xcode9.4
Davide Pesaventoe7d95a72018-03-11 20:54:08 -040050 env: OSX_VERSION=10.13
Davide Pesavento88beb4d2018-09-11 18:14:18 -040051 - os: osx
Davide Pesavento162bdbb2018-11-06 16:00:44 -050052 osx_image: xcode10.1
Davide Pesavento88beb4d2018-09-11 18:14:18 -040053 env: OSX_VERSION=10.13
Davide Pesaventoc16ec572019-03-18 18:40:48 -040054 - os: osx
Davide Pesaventocbef7b82019-10-09 00:15:13 -040055 osx_image: xcode10.3
Davide Pesaventoc16ec572019-03-18 18:40:48 -040056 env: OSX_VERSION=10.14
Davide Pesaventoc1eb2fc2019-07-17 15:44:33 -040057 - os: osx
58 osx_image: xcode11
59 env: OSX_VERSION=10.14
Davide Pesavento9a659d02018-01-10 02:55:43 -050060
61 allow_failures:
Davide Pesaventocbef7b82019-10-09 00:15:13 -040062 - env: COMPILER=clang++-10
Davide Pesavento9a659d02018-01-10 02:55:43 -050063
64 fast_finish: true
Davide Pesaventof085ed12017-06-30 14:59:52 -040065
Davide Pesaventocbef7b82019-10-09 00:15:13 -040066before_install: |
Davide Pesavento26ea1ac2018-05-10 20:20:03 -040067 case ${COMPILER} in
Davide Pesaventocbef7b82019-10-09 00:15:13 -040068 g++-[567]|clang++-[3456].*)
Davide Pesaventoc16ec572019-03-18 18:40:48 -040069 ;;
70 g++-*)
Davide Pesavento26ea1ac2018-05-10 20:20:03 -040071 travis_retry sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
72 travis_retry sudo apt-get -qq update
Davide Pesavento26ea1ac2018-05-10 20:20:03 -040073 ;;
74 clang++-*)
Davide Pesaventocbef7b82019-10-09 00:15:13 -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 Pesavento26ea1ac2018-05-10 20:20:03 -040078 travis_retry sudo apt-get -qq update
Davide Pesavento26ea1ac2018-05-10 20:20:03 -040079 ;;
80 esac
81
Davide Pesaventocbef7b82019-10-09 00:15:13 -040082install:
83 - if [[ -n ${COMPILER} ]]; then travis_retry sudo apt-get -qy install "${COMPILER/clang++/clang}"; fi
84
Davide Pesaventof085ed12017-06-30 14:59:52 -040085before_script:
Davide Pesaventocbef7b82019-10-09 00:15:13 -040086 - if [[ ${TRAVIS_OS_NAME} == linux ]]; then export NODE_LABELS="Linux Ubuntu Ubuntu-18.04"; fi
Davide Pesavento9a659d02018-01-10 02:55:43 -050087 - if [[ ${TRAVIS_OS_NAME} == osx ]]; then export NODE_LABELS="OSX OSX-${OSX_VERSION}"; fi
Davide Pesaventocbef7b82019-10-09 00:15:13 -040088 # do not waste time upgrading useless packages
89 - if [[ ${TRAVIS_OS_NAME} == osx ]]; then brew pin cgal gdal numpy postgis sfcgal || true; fi
Davide Pesaventoc16ec572019-03-18 18:40:48 -040090 - if [[ ${OSX_VERSION} == 10.12 ]]; then brew update; fi
Davide Pesavento162bdbb2018-11-06 16:00:44 -050091 # 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 Pesavento9a659d02018-01-10 02:55:43 -050095 - if [[ -n ${COMPILER} ]]; then export CXX=${COMPILER}; fi
Davide Pesaventof085ed12017-06-30 14:59:52 -040096 - ${CXX:-c++} --version
Davide Pesavento5485ca92017-08-10 21:47:42 -040097 - python --version
Davide Pesaventof085ed12017-06-30 14:59:52 -040098
Joao Pereiraef326da2015-05-27 18:27:40 -040099script:
Joao Pereiraef326da2015-05-27 18:27:40 -0400100 - ./.jenkins