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 7sudo: false 8 9dist: xenial 10 11branches: 12 only: 13 - master 14 - develop 15 - /feature\/.*/ 16 17env: 18 matrix: 19 - BOGUS_JOB=true 20 21matrix: 22 23 exclude: 24 - env: BOGUS_JOB=true 25 26 include: 27 - os: linux 28 compiler: g++ 29 env: TOOLSET=gcc COMPILER=g++ CXXSTD=03,11 30 31 - os: linux 32 compiler: g++-4.4 33 env: TOOLSET=gcc COMPILER=g++-4.4 CXXSTD=98,0x 34 addons: 35 apt: 36 packages: 37 - g++-4.4 38 sources: 39 - ubuntu-toolchain-r-test 40 41 - os: linux 42 compiler: g++-4.6 43 env: TOOLSET=gcc COMPILER=g++-4.6 CXXSTD=03,0x 44 addons: 45 apt: 46 packages: 47 - g++-4.6 48 sources: 49 - ubuntu-toolchain-r-test 50 51 - os: linux 52 compiler: g++-4.7 53 env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=03,11 54 addons: 55 apt: 56 packages: 57 - g++-4.7 58 sources: 59 - ubuntu-toolchain-r-test 60 61 - os: linux 62 compiler: g++-4.8 63 env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=03,11 64 addons: 65 apt: 66 packages: 67 - g++-4.8 68 sources: 69 - ubuntu-toolchain-r-test 70 - os: linux 71 compiler: g++-4.9 72 env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=03,11 73 addons: 74 apt: 75 packages: 76 - g++-4.9 77 sources: 78 - ubuntu-toolchain-r-test 79 80 - os: linux 81 compiler: g++-5 82 env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=03,11,14,1z 83 addons: 84 apt: 85 packages: 86 - g++-5 87 sources: 88 - ubuntu-toolchain-r-test 89 90 - os: linux 91 compiler: g++-6 92 env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11,14,1z 93 addons: 94 apt: 95 packages: 96 - g++-6 97 sources: 98 - ubuntu-toolchain-r-test 99 100 - os: linux 101 compiler: g++-7 102 env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17 103 addons: 104 apt: 105 packages: 106 - g++-7 107 sources: 108 - ubuntu-toolchain-r-test 109 110 - os: linux 111 compiler: g++-8 112 env: TOOLSET=gcc COMPILER=g++-8 CXXSTD=03,11,14,17,2a 113 addons: 114 apt: 115 packages: 116 - g++-8 117 sources: 118 - ubuntu-toolchain-r-test 119 120 - os: linux 121 compiler: g++-9 122 env: TOOLSET=gcc COMPILER=g++-9 CXXSTD=03,11,14,17,2a 123 addons: 124 apt: 125 packages: 126 - g++-9 127 sources: 128 - ubuntu-toolchain-r-test 129 130 - os: linux 131 dist: bionic 132 compiler: g++-10 133 env: TOOLSET=gcc COMPILER=g++-10 CXXSTD=03,11,14,17,2a 134 addons: 135 apt: 136 packages: 137 - g++-10 138 sources: 139 - ubuntu-toolchain-r-test 140 141 - os: linux 142 compiler: g++-9 143 env: UBSAN=1 TOOLSET=gcc COMPILER=g++-9 CXXSTD=03,11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1 LINKFLAGS=-fuse-ld=gold 144 addons: 145 apt: 146 packages: 147 - g++-9 148 sources: 149 - ubuntu-toolchain-r-test 150 151 - os: linux 152 compiler: clang++ 153 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11 154 155 - os: linux 156 dist: trusty 157 compiler: /usr/bin/clang++ 158 env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11 159 addons: 160 apt: 161 packages: 162 - clang-3.3 163 164 - os: linux 165 dist: trusty 166 compiler: /usr/bin/clang++ 167 env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11 168 addons: 169 apt: 170 packages: 171 - clang-3.4 172 173 - os: linux 174 compiler: clang++-3.6 175 env: TOOLSET=clang COMPILER=clang++-3.6 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 COMPILER=clang++-3.7 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 COMPILER=clang++-3.8 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 COMPILER=clang++-3.9 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 COMPILER=clang++-4.0 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 COMPILER=clang++-5.0 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 COMPILER=clang++-6.0 CXXSTD=03,11,14,17 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 COMPILER=clang++-7 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 COMPILER=clang++-8 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 compiler: clang++-9 267 env: TOOLSET=clang COMPILER=clang++-9 CXXSTD=03,11,14,17,2a 268 addons: 269 apt: 270 packages: 271 - clang-9 272 sources: 273 - ubuntu-toolchain-r-test 274 - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main' 275 key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' 276 277 - os: linux 278 dist: xenial 279 compiler: clang++-10 280 env: TOOLSET=clang COMPILER=clang++-10 CXXSTD=03,11,14,17,2a 281 addons: 282 apt: 283 packages: 284 - clang-10 285 sources: 286 - ubuntu-toolchain-r-test 287 - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main' 288 key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' 289 290 - os: linux 291 dist: xenial 292 compiler: clang++-10 293 env: UBSAN=1 TOOLSET=clang COMPILER=clang++-10 CXXSTD=03,11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1 294 addons: 295 apt: 296 packages: 297 - clang-10 298 sources: 299 - ubuntu-toolchain-r-test 300 - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main' 301 key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' 302 303 - os: linux 304 dist: trusty 305 compiler: clang++-libc++ 306 env: TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=03,11,14,1z 307 addons: 308 apt: 309 packages: 310 - libc++-dev 311 312 - os: linux 313 dist: trusty 314 compiler: clang++-libc++ 315 env: UBSAN=1 TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=03,11,14,1z UBSAN_OPTIONS=print_stacktrace=1 316 addons: 317 apt: 318 packages: 319 - libc++-dev 320 321 - os: osx 322 compiler: clang++ 323 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z 324 325 - os: osx 326 compiler: clang++ 327 env: UBSAN=1 TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z UBSAN_OPTIONS=print_stacktrace=1 328 329 - os: freebsd 330 compiler: clang++ 331 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,17,2a 332 333install: 334 - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true 335 - cd .. 336 - git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root 337 - cd boost-root 338 - git submodule update --init tools/boostdep 339 - cp -r $TRAVIS_BUILD_DIR/* libs/rational 340 - python tools/boostdep/depinst/depinst.py rational 341 - ./bootstrap.sh 342 - ./b2 headers 343 344script: 345 - |- 346 echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam 347 - ./b2 -j3 libs/rational/test toolset=$TOOLSET cxxstd=$CXXSTD variant=debug,release ${UBSAN:+cxxflags=-fsanitize=undefined cxxflags=-fno-sanitize-recover=undefined linkflags=-fsanitize=undefined define=UBSAN=1 debug-symbols=on} ${LINKFLAGS:+linkflags=$LINKFLAGS} 348 349notifications: 350 email: 351 on_success: always 352