1# Copyright 2016-2020 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++ 27 env: TOOLSET=gcc COMPILER=g++ CXXSTD=03,11,14 ADDRMD=32,64 28 addons: 29 apt: 30 packages: 31 - g++-multilib 32 33 - os: linux 34 arch: arm64 35 compiler: g++ 36 env: TOOLSET=gcc COMPILER=g++ CXXSTD=03,11,14 ADDRMD=32,64 37 38 - os: linux 39 arch: ppc64le 40 compiler: g++ 41 env: TOOLSET=gcc COMPILER=g++ CXXSTD=03,11,14 42 43 - os: linux 44 arch: s390x 45 compiler: g++ 46 env: TOOLSET=gcc COMPILER=g++ CXXSTD=03,11,14 ADDRMD=32,64 47 48 - os: linux 49 compiler: g++-4.4 50 env: TOOLSET=gcc COMPILER=g++-4.4 CXXSTD=98,0x 51 addons: 52 apt: 53 packages: 54 - g++-4.4 55 sources: 56 - ubuntu-toolchain-r-test 57 58 - os: linux 59 compiler: g++-4.6 60 env: TOOLSET=gcc COMPILER=g++-4.6 CXXSTD=03,0x 61 addons: 62 apt: 63 packages: 64 - g++-4.6 65 sources: 66 - ubuntu-toolchain-r-test 67 68 - os: linux 69 compiler: g++-4.7 70 env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=03,11 71 addons: 72 apt: 73 packages: 74 - g++-4.7 75 sources: 76 - ubuntu-toolchain-r-test 77 78 - os: linux 79 compiler: g++-4.8 80 env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=03,11 81 addons: 82 apt: 83 packages: 84 - g++-4.8 85 sources: 86 - ubuntu-toolchain-r-test 87 - os: linux 88 compiler: g++-4.9 89 env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=03,11 90 addons: 91 apt: 92 packages: 93 - g++-4.9 94 sources: 95 - ubuntu-toolchain-r-test 96 97 - os: linux 98 compiler: g++-5 99 env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=03,11,14,1z 100 addons: 101 apt: 102 packages: 103 - g++-5 104 sources: 105 - ubuntu-toolchain-r-test 106 107 - os: linux 108 compiler: g++-6 109 env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11,14,1z 110 addons: 111 apt: 112 packages: 113 - g++-6 114 sources: 115 - ubuntu-toolchain-r-test 116 117 - os: linux 118 compiler: g++-7 119 env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17 120 addons: 121 apt: 122 packages: 123 - g++-7 124 sources: 125 - ubuntu-toolchain-r-test 126 127 - os: linux 128 compiler: g++-8 129 env: TOOLSET=gcc COMPILER=g++-8 CXXSTD=03,11,14,17 130 addons: 131 apt: 132 packages: 133 - g++-8 134 sources: 135 - ubuntu-toolchain-r-test 136 137 - os: linux 138 compiler: g++-9 139 env: TOOLSET=gcc COMPILER=g++-9 CXXSTD=03,11,14,17,2a 140 addons: 141 apt: 142 packages: 143 - g++-9 144 sources: 145 - ubuntu-toolchain-r-test 146 147 - os: linux 148 compiler: g++-9 149 env: UBSAN=1 TOOLSET=gcc COMPILER=g++-9 CXXSTD=03,11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1 LINKFLAGS=-fuse-ld=gold 150 addons: 151 apt: 152 packages: 153 - g++-9 154 sources: 155 - ubuntu-toolchain-r-test 156 157 - os: linux 158 compiler: clang++ 159 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11 160 161 - os: linux 162 dist: trusty 163 compiler: /usr/bin/clang++ 164 env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11 165 addons: 166 apt: 167 packages: 168 - clang-3.3 169 170 - os: linux 171 dist: trusty 172 compiler: /usr/bin/clang++ 173 env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11 174 addons: 175 apt: 176 packages: 177 - clang-3.4 178 179 - os: linux 180 compiler: clang++-3.5 181 env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=03,11,14,1z 182 addons: 183 apt: 184 packages: 185 - clang-3.5 186 sources: 187 - ubuntu-toolchain-r-test 188 189 - os: linux 190 compiler: clang++-3.6 191 env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=03,11,14,1z 192 addons: 193 apt: 194 packages: 195 - clang-3.6 196 sources: 197 - ubuntu-toolchain-r-test 198 199 - os: linux 200 compiler: clang++-3.7 201 env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=03,11,14,1z 202 addons: 203 apt: 204 packages: 205 - clang-3.7 206 sources: 207 - ubuntu-toolchain-r-test 208 209 - os: linux 210 compiler: clang++-3.8 211 env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=03,11,14,1z 212 addons: 213 apt: 214 packages: 215 - clang-3.8 216 sources: 217 - ubuntu-toolchain-r-test 218 219 - os: linux 220 compiler: clang++-3.9 221 env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03,11,14,1z 222 addons: 223 apt: 224 packages: 225 - clang-3.9 226 sources: 227 - ubuntu-toolchain-r-test 228 229 - os: linux 230 compiler: clang++-4.0 231 env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=03,11,14,1z 232 addons: 233 apt: 234 packages: 235 - clang-4.0 236 sources: 237 - ubuntu-toolchain-r-test 238 239 - os: linux 240 compiler: clang++-5.0 241 env: TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=03,11,14,1z 242 addons: 243 apt: 244 packages: 245 - clang-5.0 246 sources: 247 - ubuntu-toolchain-r-test 248 249 - os: linux 250 compiler: clang++-6.0 251 env: TOOLSET=clang COMPILER=clang++-6.0 CXXSTD=03,11,14,17 252 addons: 253 apt: 254 packages: 255 - clang-6.0 256 sources: 257 - ubuntu-toolchain-r-test 258 259 - os: linux 260 compiler: clang++-7 261 env: TOOLSET=clang COMPILER=clang++-7 CXXSTD=03,11,14,17,2a 262 addons: 263 apt: 264 packages: 265 - clang-7 266 sources: 267 - ubuntu-toolchain-r-test 268 - llvm-toolchain-xenial-7 269 270 - os: linux 271 compiler: clang++-8 272 env: TOOLSET=clang COMPILER=clang++-8 CXXSTD=03,11,14,17,2a 273 addons: 274 apt: 275 packages: 276 - clang-8 277 sources: 278 - ubuntu-toolchain-r-test 279 - llvm-toolchain-xenial-8 280 281 - os: linux 282 dist: xenial 283 compiler: clang++-9 284 env: TOOLSET=clang COMPILER=clang++-9 CXXSTD=03,11,14,17,2a 285 addons: 286 apt: 287 packages: 288 - clang-9 289 sources: 290 - ubuntu-toolchain-r-test 291 - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main' 292 key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' 293 294 - os: linux 295 compiler: clang++-8 296 env: UBSAN=1 TOOLSET=clang COMPILER=clang++-8 CXXSTD=03,11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1 297 addons: 298 apt: 299 packages: 300 - clang-8 301 sources: 302 - ubuntu-toolchain-r-test 303 - llvm-toolchain-xenial-8 304 305 - os: linux 306 dist: trusty 307 compiler: clang++-libc++ 308 env: TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=03,11,14,1z 309 addons: 310 apt: 311 packages: 312 - libc++-dev 313 314 - os: linux 315 dist: trusty 316 compiler: clang++-libc++ 317 env: UBSAN=1 TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=03,11,14,1z UBSAN_OPTIONS=print_stacktrace=1 318 addons: 319 apt: 320 packages: 321 - libc++-dev 322 323 - os: osx 324 osx_image: xcode7.3 325 compiler: clang++ 326 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z ADDRMD=32,64 327 328 - os: osx 329 osx_image: xcode8.3 330 compiler: clang++ 331 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z ADDRMD=32,64 332 333 - os: osx 334 osx_image: xcode9.4 335 compiler: clang++ 336 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z ADDRMD=32,64 337 338 - os: osx 339 osx_image: xcode10.3 340 compiler: clang++ 341 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z 342 343 - os: osx 344 osx_image: xcode11.3 345 compiler: clang++ 346 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z 347 348 - os: osx 349 compiler: clang++ 350 env: UBSAN=1 TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z ADDRMD=32,64 UBSAN_OPTIONS=print_stacktrace=1 351 352 - os: linux 353 env: CMAKE_TEST=1 354 script: 355 - mkdir __build__ && cd __build__ 356 - cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES=endian .. 357 - ctest --output-on-failure -R boost_endian 358 359 - os: linux 360 env: CMAKE_SUBDIR_TEST=1 361 install: 362 - BOOST_BRANCH=develop 363 - if [ "$TRAVIS_BRANCH" = "master" ]; then BOOST_BRANCH=master; fi 364 - git clone -b $BOOST_BRANCH https://github.com/boostorg/assert.git ../assert 365 - git clone -b $BOOST_BRANCH https://github.com/boostorg/config.git ../config 366 - git clone -b $BOOST_BRANCH https://github.com/boostorg/core.git ../core 367 - git clone -b $BOOST_BRANCH https://github.com/boostorg/static_assert.git ../static_assert 368 - git clone -b $BOOST_BRANCH https://github.com/boostorg/type_traits.git ../type_traits 369 script: 370 - cd test/cmake_subdir_test && mkdir __build__ && cd __build__ 371 - cmake .. 372 - cmake --build . 373 - cmake --build . --target check 374 375 - os: linux 376 env: CMAKE_INSTALL_TEST=1 377 script: 378 - pip install --user cmake 379 - mkdir __build__ && cd __build__ 380 - cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES=endian -DCMAKE_INSTALL_PREFIX=~/.local .. 381 - cmake --build . --target install 382 - cd ../libs/endian/test/cmake_install_test && mkdir __build__ && cd __build__ 383 - cmake -DCMAKE_INSTALL_PREFIX=~/.local .. 384 - cmake --build . 385 - cmake --build . --target check 386 387install: 388 - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true 389 - cd .. 390 - git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root 391 - cd boost-root 392 - git submodule update --init tools/boostdep 393 - cp -r $TRAVIS_BUILD_DIR/* libs/endian 394 - python tools/boostdep/depinst/depinst.py endian 395 - ./bootstrap.sh 396 - ./b2 headers 397 398script: 399 - |- 400 echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam 401 - ./b2 -j3 libs/endian/test toolset=$TOOLSET cxxstd=$CXXSTD variant=debug,release ${ADDRMD:+address-model=$ADDRMD} ${UBSAN:+cxxflags=-fsanitize=undefined cxxflags=-fno-sanitize-recover=undefined linkflags=-fsanitize=undefined debug-symbols=on} ${LINKFLAGS:+linkflags=$LINKFLAGS} 402 403notifications: 404 email: 405 on_success: always 406