blob: f76bf9df0f720897e77334b66f272ea8cf279b5b [file] [log] [blame]
Davide Pesavento167040a2018-01-10 02:41:50 -05001language: cpp
Davide Pesavento4bd4f712019-10-09 01:02:45 -04002dist: bionic
Alexander Afanasyev6602b3b2016-03-15 14:14:11 -07003env:
4 global:
5 - JOB_NAME=limited-build
Davide Pesavento9ac95d32017-07-01 01:51:37 -04006 - WAF_JOBS=2
7
Alexander Afanasyev6602b3b2016-03-15 14:14:11 -07008matrix:
9 include:
Davide Pesavento9ac95d32017-07-01 01:51:37 -040010 # Linux/gcc
Davide Pesavento167040a2018-01-10 02:41:50 -050011 # https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test/+packages
Alexander Afanasyev6602b3b2016-03-15 14:14:11 -070012 - os: linux
Davide Pesavento167040a2018-01-10 02:41:50 -050013 env: COMPILER=g++-5
Davide Pesavento9ac95d32017-07-01 01:51:37 -040014 - os: linux
Davide Pesavento167040a2018-01-10 02:41:50 -050015 env: COMPILER=g++-6
Davide Pesavento9ac95d32017-07-01 01:51:37 -040016 - os: linux
Davide Pesavento167040a2018-01-10 02:41:50 -050017 env: COMPILER=g++-7
Davide Pesavento67f797f2018-04-28 14:51:27 -040018 - os: linux
19 env: COMPILER=g++-8
Davide Pesavento9d491022019-06-23 19:15:05 -040020 - os: linux
21 env: COMPILER=g++-9
Davide Pesavento9ac95d32017-07-01 01:51:37 -040022
23 # Linux/clang
Davide Pesavento167040a2018-01-10 02:41:50 -050024 # https://apt.llvm.org/
Davide Pesavento9ac95d32017-07-01 01:51:37 -040025 - os: linux
Davide Pesavento5f35f642018-05-10 19:36:03 -040026 env: COMPILER=clang++-3.9
Davide Pesavento9ac95d32017-07-01 01:51:37 -040027 - os: linux
Davide Pesavento167040a2018-01-10 02:41:50 -050028 env: COMPILER=clang++-4.0
Davide Pesavento085b9e32017-09-14 23:56:18 -040029 - os: linux
Davide Pesavento167040a2018-01-10 02:41:50 -050030 env: COMPILER=clang++-5.0
Davide Pesavento167040a2018-01-10 02:41:50 -050031 - os: linux
32 env: COMPILER=clang++-6.0
Davide Pesaventod2148812019-07-17 16:38:10 -040033 # disable AddressSanitizer with clang 7 and 8
Davide Pesavento3626b592019-03-20 01:38:09 -040034 # due to https://bugs.llvm.org/show_bug.cgi?id=40808
Davide Pesavento068a71d2018-03-15 00:52:34 -040035 - os: linux
Davide Pesavento3626b592019-03-20 01:38:09 -040036 env: COMPILER=clang++-7 DISABLE_ASAN=yes
Davide Pesavento69692ab2018-09-11 18:11:23 -040037 - os: linux
Davide Pesavento3626b592019-03-20 01:38:09 -040038 env: COMPILER=clang++-8 DISABLE_ASAN=yes
39 - os: linux
Davide Pesaventod2148812019-07-17 16:38:10 -040040 env: COMPILER=clang++-9
Davide Pesavento4bd4f712019-10-09 01:02:45 -040041 - os: linux
42 env: COMPILER=clang++-10
Davide Pesavento9ac95d32017-07-01 01:51:37 -040043
44 # macOS/clang
Davide Pesavento3626b592019-03-20 01:38:09 -040045 # https://docs.travis-ci.com/user/reference/osx/#macos-version
Davide Pesaventod657d532018-06-26 22:41:28 -040046 - os: osx
Davide Pesaventod657d532018-06-26 22:41:28 -040047 osx_image: xcode9.2
48 env: OSX_VERSION=10.12
49 - os: osx
50 osx_image: xcode9.4
Davide Pesavento068a71d2018-03-15 00:52:34 -040051 env: OSX_VERSION=10.13
Davide Pesavento69692ab2018-09-11 18:11:23 -040052 - os: osx
Davide Pesavento5e1124c2018-11-06 14:40:50 -050053 osx_image: xcode10.1
Davide Pesavento69692ab2018-09-11 18:11:23 -040054 env: OSX_VERSION=10.13
Davide Pesavento3626b592019-03-20 01:38:09 -040055 - os: osx
Davide Pesavento4bd4f712019-10-09 01:02:45 -040056 osx_image: xcode10.3
Davide Pesavento3626b592019-03-20 01:38:09 -040057 env: OSX_VERSION=10.14
Davide Pesaventod2148812019-07-17 16:38:10 -040058 - os: osx
59 osx_image: xcode11
60 env: OSX_VERSION=10.14
Davide Pesavento167040a2018-01-10 02:41:50 -050061
62 allow_failures:
Davide Pesavento4bd4f712019-10-09 01:02:45 -040063 - env: COMPILER=clang++-10
Davide Pesavento167040a2018-01-10 02:41:50 -050064
65 fast_finish: true
Davide Pesavento9ac95d32017-07-01 01:51:37 -040066
Davide Pesavento4bd4f712019-10-09 01:02:45 -040067before_install: |
Davide Pesavento5f35f642018-05-10 19:36:03 -040068 case ${COMPILER} in
Davide Pesavento4bd4f712019-10-09 01:02:45 -040069 g++-[567]|clang++-[3456].*)
Davide Pesavento3626b592019-03-20 01:38:09 -040070 ;;
71 g++-*)
Davide Pesavento5f35f642018-05-10 19:36:03 -040072 travis_retry sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
73 travis_retry sudo apt-get -qq update
Davide Pesavento5f35f642018-05-10 19:36:03 -040074 ;;
75 clang++-*)
Davide Pesavento4bd4f712019-10-09 01:02:45 -040076 LLVM_REPO=${COMPILER/clang++/llvm-toolchain-${TRAVIS_DIST}}
77 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/${TRAVIS_DIST}/ ${LLVM_REPO%-10} main"
Davide Pesavento5f35f642018-05-10 19:36:03 -040079 travis_retry sudo apt-get -qq update
Davide Pesavento5f35f642018-05-10 19:36:03 -040080 ;;
81 esac
82
Davide Pesavento4bd4f712019-10-09 01:02:45 -040083install:
84 - if [[ -n ${COMPILER} ]]; then travis_retry sudo apt-get -qy install "${COMPILER/clang++/clang}"; fi
85
Davide Pesavento9ac95d32017-07-01 01:51:37 -040086before_script:
Davide Pesavento4bd4f712019-10-09 01:02:45 -040087 - if [[ ${TRAVIS_OS_NAME} == linux ]]; then export NODE_LABELS="Linux Ubuntu Ubuntu-18.04"; fi
88 - if [[ ${TRAVIS_OS_NAME} == linux ]]; then sudo sysctl -e -w net.ipv6.conf.all.disable_ipv6=0; fi
Davide Pesavento167040a2018-01-10 02:41:50 -050089 - if [[ ${TRAVIS_OS_NAME} == osx ]]; then export NODE_LABELS="OSX OSX-${OSX_VERSION}"; fi
Davide Pesavento4bd4f712019-10-09 01:02:45 -040090 # do not waste time upgrading useless packages
91 - if [[ ${TRAVIS_OS_NAME} == osx ]]; then brew pin cgal gdal numpy postgis sfcgal || true; fi
Davide Pesavento3626b592019-03-20 01:38:09 -040092 - if [[ ${OSX_VERSION} == 10.12 ]]; then brew update; fi
Davide Pesavento5e1124c2018-11-06 14:40:50 -050093 # workaround for https://github.com/Homebrew/homebrew-core/issues/26358
94 - if [[ ${OSX_VERSION} == 10.12 ]]; then brew outdated python || brew upgrade python; fi
95 # workaround for https://github.com/travis-ci/travis-ci/issues/6688
96 - if [[ ${OSX_VERSION} == 10.12 ]]; then /usr/bin/yes | pip2 uninstall numpy || true; fi
Davide Pesavento167040a2018-01-10 02:41:50 -050097 - if [[ -n ${COMPILER} ]]; then export CXX=${COMPILER}; fi
Davide Pesavento9ac95d32017-07-01 01:51:37 -040098 - ${CXX:-c++} --version
Davide Pesavento8ca138d2017-08-10 21:36:30 -040099 - python --version
Davide Pesavento9ac95d32017-07-01 01:51:37 -0400100
Yi Huang71929b32014-01-29 21:47:09 -0700101script:
Alexander Afanasyev4d4e7252014-10-25 12:21:53 -0700102 - ./.jenkins