1# Copyright 2016-2019 Peter Dimov 2# Distributed under the Boost Software License, Version 1.0. 3# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt) 4 5language: cpp 6 7dist: xenial 8 9branches: 10 only: 11 - master 12 - develop 13 - /feature\/.*/ 14 15env: 16 matrix: 17 - BOGUS_JOB=true 18 19matrix: 20 21 exclude: 22 - env: BOGUS_JOB=true 23 24 include: 25 - os: linux 26 compiler: g++-4.4 27 env: TOOLSET=gcc CXXSTD=98,0x 28 addons: 29 apt: 30 packages: 31 - g++-4.4 32 sources: 33 - ubuntu-toolchain-r-test 34 35 - os: linux 36 compiler: g++-4.6 37 env: TOOLSET=gcc CXXSTD=03,0x 38 addons: 39 apt: 40 packages: 41 - g++-4.6 42 sources: 43 - ubuntu-toolchain-r-test 44 45 - os: linux 46 compiler: g++-4.7 47 env: TOOLSET=gcc CXXSTD=03,11 48 addons: 49 apt: 50 packages: 51 - g++-4.7 52 sources: 53 - ubuntu-toolchain-r-test 54 55 - os: linux 56 compiler: g++-4.8 57 env: TOOLSET=gcc CXXSTD=03,11 58 addons: 59 apt: 60 packages: 61 - g++-4.8 62 sources: 63 - ubuntu-toolchain-r-test 64 - os: linux 65 compiler: g++-4.9 66 env: TOOLSET=gcc CXXSTD=03,11 67 addons: 68 apt: 69 packages: 70 - g++-4.9 71 sources: 72 - ubuntu-toolchain-r-test 73 74 - os: linux 75 compiler: g++-5 76 env: TOOLSET=gcc CXXSTD=03,11,14,1z 77 addons: 78 apt: 79 packages: 80 - g++-5 81 sources: 82 - ubuntu-toolchain-r-test 83 84 - os: linux 85 compiler: g++-6 86 env: TOOLSET=gcc CXXSTD=03,11,14,1z 87 addons: 88 apt: 89 packages: 90 - g++-6 91 sources: 92 - ubuntu-toolchain-r-test 93 94 - os: linux 95 compiler: g++-7 96 env: TOOLSET=gcc CXXSTD=03,11,14,17 97 addons: 98 apt: 99 packages: 100 - g++-7 101 sources: 102 - ubuntu-toolchain-r-test 103 104 - os: linux 105 compiler: g++-8 106 env: TOOLSET=gcc CXXSTD=03,11,14,17,2a 107 addons: 108 apt: 109 packages: 110 - g++-8 111 sources: 112 - ubuntu-toolchain-r-test 113 114 - os: linux 115 compiler: g++-9 116 env: TOOLSET=gcc CXXSTD=03,11,14,17,2a 117 addons: 118 apt: 119 packages: 120 - g++-9 121 sources: 122 - ubuntu-toolchain-r-test 123 124 - os: linux 125 dist: bionic 126 compiler: g++-10 127 env: TOOLSET=gcc CXXSTD=03,11,14,17,2a 128 addons: 129 apt: 130 packages: 131 - g++-10 132 sources: 133 - ubuntu-toolchain-r-test 134 135 - os: linux 136 compiler: g++-9 137 env: UBSAN=1 TOOLSET=gcc CXXSTD=03,11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1 LINKFLAGS=-fuse-ld=gold 138 addons: 139 apt: 140 packages: 141 - g++-9 142 sources: 143 - ubuntu-toolchain-r-test 144 145 - os: linux 146 dist: trusty 147 compiler: /usr/bin/clang++ 148 env: TOOLSET=clang CXXSTD=03,11 149 addons: 150 apt: 151 packages: 152 - clang-3.3 153 154 - os: linux 155 dist: trusty 156 compiler: /usr/bin/clang++ 157 env: TOOLSET=clang CXXSTD=03,11 158 addons: 159 apt: 160 packages: 161 - clang-3.4 162 163 - os: linux 164 compiler: clang++-3.5 165 env: TOOLSET=clang CXXSTD=03,11,14,1z 166 addons: 167 apt: 168 packages: 169 - clang-3.5 170 sources: 171 - ubuntu-toolchain-r-test 172 173 - os: linux 174 compiler: clang++-3.6 175 env: TOOLSET=clang CXXSTD=03,11,14,1z 176 addons: 177 apt: 178 packages: 179 - clang-3.6 180 sources: 181 - ubuntu-toolchain-r-test 182 183 - os: linux 184 compiler: clang++-3.7 185 env: TOOLSET=clang CXXSTD=03,11,14,1z 186 addons: 187 apt: 188 packages: 189 - clang-3.7 190 sources: 191 - ubuntu-toolchain-r-test 192 193 - os: linux 194 compiler: clang++-3.8 195 env: TOOLSET=clang CXXSTD=03,11,14,1z 196 addons: 197 apt: 198 packages: 199 - clang-3.8 200 sources: 201 - ubuntu-toolchain-r-test 202 203 - os: linux 204 compiler: clang++-3.9 205 env: TOOLSET=clang CXXSTD=03,11,14,1z 206 addons: 207 apt: 208 packages: 209 - clang-3.9 210 sources: 211 - ubuntu-toolchain-r-test 212 213 - os: linux 214 compiler: clang++-4.0 215 env: TOOLSET=clang CXXSTD=03,11,14,1z 216 addons: 217 apt: 218 packages: 219 - clang-4.0 220 sources: 221 - ubuntu-toolchain-r-test 222 223 - os: linux 224 compiler: clang++-5.0 225 env: TOOLSET=clang CXXSTD=03,11,14,1z 226 addons: 227 apt: 228 packages: 229 - clang-5.0 230 sources: 231 - ubuntu-toolchain-r-test 232 233 - os: linux 234 compiler: clang++-6.0 235 env: TOOLSET=clang CXXSTD=03,11,14,17,2a 236 addons: 237 apt: 238 packages: 239 - clang-6.0 240 sources: 241 - ubuntu-toolchain-r-test 242 243 - os: linux 244 compiler: clang++-7 245 env: TOOLSET=clang CXXSTD=03,11,14,17,2a 246 addons: 247 apt: 248 packages: 249 - clang-7 250 sources: 251 - ubuntu-toolchain-r-test 252 - llvm-toolchain-xenial-7 253 254 - os: linux 255 compiler: clang++-8 256 env: TOOLSET=clang CXXSTD=03,11,14,17,2a 257 addons: 258 apt: 259 packages: 260 - clang-8 261 sources: 262 - ubuntu-toolchain-r-test 263 - llvm-toolchain-xenial-8 264 265 - os: linux 266 dist: xenial 267 compiler: clang++-9 268 env: TOOLSET=clang CXXSTD=03,11,14,17,2a 269 addons: 270 apt: 271 packages: 272 - clang-9 273 sources: 274 - ubuntu-toolchain-r-test 275 - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main' 276 key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' 277 278 - os: linux 279 dist: xenial 280 compiler: clang++-10 281 env: TOOLSET=clang CXXSTD=03,11,14,17,2a 282 addons: 283 apt: 284 packages: 285 - clang-10 286 sources: 287 - ubuntu-toolchain-r-test 288 - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main' 289 key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' 290 291 - os: linux 292 compiler: clang++-8 293 env: UBSAN=1 TOOLSET=clang CXXSTD=03,11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1 294 addons: 295 apt: 296 packages: 297 - clang-8 298 sources: 299 - ubuntu-toolchain-r-test 300 - llvm-toolchain-xenial-8 301 302 - os: linux 303 dist: trusty 304 compiler: clang++-libc++ 305 env: TOOLSET=clang CXXSTD=03,11,14,1z 306 addons: 307 apt: 308 packages: 309 - libc++-dev 310 311 - os: linux 312 dist: trusty 313 compiler: clang++-libc++ 314 env: UBSAN=1 TOOLSET=clang CXXSTD=03,11,14,1z UBSAN_OPTIONS=print_stacktrace=1 315 addons: 316 apt: 317 packages: 318 - libc++-dev 319 320 - os: osx 321 compiler: clang++ 322 env: TOOLSET=clang CXXSTD=03,11,14,1z 323 324 - os: osx 325 compiler: clang++ 326 env: UBSAN=1 TOOLSET=clang CXXSTD=03,11,14,1z UBSAN_OPTIONS=print_stacktrace=1 327 328install: 329 - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true 330 - cd .. 331 - git clone -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root 332 - cd boost-root 333 - git submodule update --init tools/boostdep 334 - cp -r $TRAVIS_BUILD_DIR/* libs/function 335 - python tools/boostdep/depinst/depinst.py function 336 - ./bootstrap.sh 337 - ./b2 headers 338 339script: 340 - |- 341 echo "using $TOOLSET : : $TRAVIS_COMPILER ;" > ~/user-config.jam 342 - ./b2 -j3 libs/function/test toolset=$TOOLSET cxxstd=$CXXSTD variant=debug,release ${UBSAN:+cxxflags=-fsanitize=undefined cxxflags=-fno-sanitize-recover=undefined linkflags=-fsanitize=undefined debug-symbols=on} ${LINKFLAGS:+linkflags=$LINKFLAGS} 343 344notifications: 345 email: 346 on_success: always 347