blob: 570bb0ece15d5ed8312717cf8b5fa551f7a037b4 [file] [log] [blame]
Davide Pesavento9412d122018-01-02 21:52:09 -05001language: cpp
Davide Pesaventocb672522019-09-23 17:40:14 -04002dist: bionic
Davide Pesavento09348882016-09-17 02:39:44 +02003env:
4 global:
5 - JOB_NAME=limited-build
Davide Pesavento3cf90782017-08-10 01:21:20 -04006 - WAF_JOBS=2
Davide Pesavento71430482017-06-08 20:06:40 -04007
Alexander Afanasyevce306ca2015-12-09 12:59:05 -08008matrix:
9 include:
Davide Pesavento71430482017-06-08 20:06:40 -040010 # Linux/gcc
Davide Pesavento9412d122018-01-02 21:52:09 -050011 # https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test/+packages
Alexander Afanasyevce306ca2015-12-09 12:59:05 -080012 - os: linux
Davide Pesavento9412d122018-01-02 21:52:09 -050013 env: COMPILER=g++-5
Davide Pesavento71430482017-06-08 20:06:40 -040014 - os: linux
Davide Pesavento9412d122018-01-02 21:52:09 -050015 env: COMPILER=g++-6
Davide Pesavento71430482017-06-08 20:06:40 -040016 - os: linux
Davide Pesavento9412d122018-01-02 21:52:09 -050017 env: COMPILER=g++-7
Davide Pesaventod89f0022018-04-28 14:48:25 -040018 - os: linux
19 env: COMPILER=g++-8
Davide Pesaventocb672522019-09-23 17:40:14 -040020 # disable AddressSanitizer with gcc 9 due to
21 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90570
Davide Pesaventoc8163712019-06-23 16:35:47 -040022 - os: linux
Davide Pesaventocb672522019-09-23 17:40:14 -040023 env: COMPILER=g++-9 DISABLE_ASAN=yes
Davide Pesavento71430482017-06-08 20:06:40 -040024
25 # Linux/clang
Davide Pesavento9412d122018-01-02 21:52:09 -050026 # https://apt.llvm.org/
Davide Pesavento71430482017-06-08 20:06:40 -040027 - os: linux
Davide Pesavento844b0932018-05-07 01:00:16 -040028 env: COMPILER=clang++-3.9
Davide Pesavento71430482017-06-08 20:06:40 -040029 - os: linux
Davide Pesavento9412d122018-01-02 21:52:09 -050030 env: COMPILER=clang++-4.0
Davide Pesaventobcf23a32017-09-12 16:45:59 -040031 - os: linux
Davide Pesavento9412d122018-01-02 21:52:09 -050032 env: COMPILER=clang++-5.0
Davide Pesavento9412d122018-01-02 21:52:09 -050033 - os: linux
34 env: COMPILER=clang++-6.0
Davide Pesaventofe407f22019-07-16 23:03:08 -040035 # disable AddressSanitizer with clang 7 and 8
Davide Pesavento4fc90802019-02-21 15:20:44 -050036 # due to https://bugs.llvm.org/show_bug.cgi?id=40808
Davide Pesavento8a8c01b2018-03-11 00:07:52 -050037 - os: linux
Davide Pesavento4fc90802019-02-21 15:20:44 -050038 env: COMPILER=clang++-7 DISABLE_ASAN=yes
Davide Pesavento52bc4e92018-08-23 19:08:19 -040039 - os: linux
Davide Pesavento4fc90802019-02-21 15:20:44 -050040 env: COMPILER=clang++-8 DISABLE_ASAN=yes
41 - os: linux
Davide Pesaventofe407f22019-07-16 23:03:08 -040042 env: COMPILER=clang++-9
Davide Pesaventocb672522019-09-23 17:40:14 -040043 - os: linux
44 env: COMPILER=clang++-10
Davide Pesavento71430482017-06-08 20:06:40 -040045
46 # macOS/clang
Davide Pesavento4fc90802019-02-21 15:20:44 -050047 # https://docs.travis-ci.com/user/reference/osx/#macos-version
Davide Pesaventoca660f12018-06-16 14:01:51 -040048 - os: osx
Davide Pesaventoca660f12018-06-16 14:01:51 -040049 osx_image: xcode9.2
50 env: OSX_VERSION=10.12
51 - os: osx
52 osx_image: xcode9.4
Davide Pesavento8a8c01b2018-03-11 00:07:52 -050053 env: OSX_VERSION=10.13
Davide Pesaventod89f0022018-04-28 14:48:25 -040054 - os: osx
Davide Pesavento511712d2018-11-03 18:51:10 -040055 osx_image: xcode10.1
Davide Pesavento52bc4e92018-08-23 19:08:19 -040056 env: OSX_VERSION=10.13
Davide Pesavento13fffa32018-09-30 16:21:33 -040057 - os: osx
Davide Pesavento511712d2018-11-03 18:51:10 -040058 osx_image: xcode10.1
Davide Pesavento13fffa32018-09-30 16:21:33 -040059 env: OSX_VERSION=10.13 USE_OPENSSL_1_1=yes
Davide Pesavento4fc90802019-02-21 15:20:44 -050060 - os: osx
Davide Pesaventocb672522019-09-23 17:40:14 -040061 osx_image: xcode10.3
Davide Pesavento4fc90802019-02-21 15:20:44 -050062 env: OSX_VERSION=10.14
63 - os: osx
Davide Pesaventocb672522019-09-23 17:40:14 -040064 osx_image: xcode10.3
Davide Pesavento4fc90802019-02-21 15:20:44 -050065 env: OSX_VERSION=10.14 USE_OPENSSL_1_1=yes
Davide Pesaventofe407f22019-07-16 23:03:08 -040066 - os: osx
67 osx_image: xcode11
68 env: OSX_VERSION=10.14
69 - os: osx
70 osx_image: xcode11
71 env: OSX_VERSION=10.14 USE_OPENSSL_1_1=yes
Davide Pesavento9412d122018-01-02 21:52:09 -050072
73 allow_failures:
Davide Pesaventocb672522019-09-23 17:40:14 -040074 - env: COMPILER=clang++-10
Davide Pesavento9412d122018-01-02 21:52:09 -050075
76 fast_finish: true
Davide Pesavento71430482017-06-08 20:06:40 -040077
Davide Pesaventocb672522019-09-23 17:40:14 -040078before_install: |
Davide Pesavento844b0932018-05-07 01:00:16 -040079 case ${COMPILER} in
Davide Pesaventocb672522019-09-23 17:40:14 -040080 g++-[567]|clang++-[3456].*)
Davide Pesavento4fc90802019-02-21 15:20:44 -050081 ;;
82 g++-*)
Davide Pesavento844b0932018-05-07 01:00:16 -040083 travis_retry sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
84 travis_retry sudo apt-get -qq update
Davide Pesavento844b0932018-05-07 01:00:16 -040085 ;;
86 clang++-*)
Davide Pesaventocb672522019-09-23 17:40:14 -040087 LLVM_REPO=${COMPILER/clang++/llvm-toolchain-${TRAVIS_DIST}}
88 travis_retry wget -nv -O - "https://apt.llvm.org/llvm-snapshot.gpg.key" | sudo apt-key add -
89 travis_retry sudo add-apt-repository -y "deb http://apt.llvm.org/${TRAVIS_DIST}/ ${LLVM_REPO%-10} main"
Davide Pesavento844b0932018-05-07 01:00:16 -040090 travis_retry sudo apt-get -qq update
Davide Pesavento844b0932018-05-07 01:00:16 -040091 ;;
92 esac
93
Davide Pesaventocb672522019-09-23 17:40:14 -040094install:
95 - if [[ -n ${COMPILER} ]]; then travis_retry sudo apt-get -qy install "${COMPILER/clang++/clang}"; fi
96
Davide Pesavento71430482017-06-08 20:06:40 -040097before_script:
Davide Pesaventocb672522019-09-23 17:40:14 -040098 - if [[ ${TRAVIS_OS_NAME} == linux ]]; then export NODE_LABELS="Linux Ubuntu Ubuntu-18.04"; fi
Davide Pesavento9412d122018-01-02 21:52:09 -050099 - if [[ ${TRAVIS_OS_NAME} == osx ]]; then export NODE_LABELS="OSX OSX-${OSX_VERSION}"; fi
Davide Pesaventoe6e125e2019-10-08 18:08:36 -0400100 # do not waste time upgrading useless packages
101 - if [[ ${TRAVIS_OS_NAME} == osx ]]; then brew pin cgal gdal numpy postgis sfcgal || true; fi
Davide Pesavento4fc90802019-02-21 15:20:44 -0500102 - if [[ ${OSX_VERSION} == 10.12 ]]; then brew update; fi
Davide Pesaventof714d1b2018-10-13 21:38:22 -0400103 # workaround for https://github.com/Homebrew/homebrew-core/issues/26358
104 - if [[ ${OSX_VERSION} == 10.12 ]]; then brew outdated python || brew upgrade python; fi
105 # workaround for https://github.com/travis-ci/travis-ci/issues/6688
106 - if [[ ${OSX_VERSION} == 10.12 ]]; then /usr/bin/yes | pip2 uninstall numpy || true; fi
Davide Pesavento9412d122018-01-02 21:52:09 -0500107 - if [[ -n ${COMPILER} ]]; then export CXX=${COMPILER}; fi
Davide Pesavento71430482017-06-08 20:06:40 -0400108 - ${CXX:-c++} --version
Davide Pesavento364eeee2017-08-10 00:46:08 -0400109 - python --version
Davide Pesavento71430482017-06-08 20:06:40 -0400110
Alexander Afanasyevb4500d92014-01-17 20:43:24 -0800111script:
Alexander Afanasyeva87e0a82014-10-21 14:09:19 -0400112 - ./.jenkins