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++ 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 dist: bionic 70 compiler: g++-10 71 env: UBSAN=1 TOOLSET=gcc COMPILER=g++-10 CXXSTD=03,11,14,17,20 UBSAN_OPTIONS=print_stacktrace=1 LINKFLAGS=-fuse-ld=gold 72 addons: 73 apt: 74 packages: 75 - g++-10 76 sources: 77 - sourceline: "ppa:ubuntu-toolchain-r/test" 78 79 - os: linux 80 dist: trusty 81 compiler: /usr/bin/clang++ 82 env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11 83 addons: 84 apt: 85 packages: 86 - clang-3.3 87 88 - os: linux 89 dist: trusty 90 compiler: /usr/bin/clang++ 91 env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11 92 addons: 93 apt: 94 packages: 95 - clang-3.4 96 97 - os: linux 98 compiler: clang++-11 99 env: UBSAN=1 TOOLSET=clang COMPILER=clang++-11 CXXSTD=03,11,14,17,20 UBSAN_OPTIONS=print_stacktrace=1 100 addons: 101 apt: 102 packages: 103 - clang-11 104 sources: 105 - ubuntu-toolchain-r-test 106 - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-11 main' 107 key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' 108 109 - os: linux 110 dist: bionic 111 compiler: clang++-libc++ 112 env: UBSAN=1 TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=03,11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1 113 addons: 114 apt: 115 packages: 116 - libc++-dev 117 - libc++abi-dev 118 119 - os: freebsd 120 compiler: clang++ 121 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,17,2a 122 123 - os: osx 124 compiler: clang++ 125 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z ADDRMD=32,64 126 osx_image: xcode7.3 127 128 - os: osx 129 compiler: clang++ 130 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z ADDRMD=32,64 131 osx_image: xcode8.3 132 133 - os: osx 134 compiler: clang++ 135 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z ADDRMD=32,64 136 osx_image: xcode9.4 137 138 - os: osx 139 compiler: clang++ 140 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z 141 osx_image: xcode10.1 142 143 - os: osx 144 osx_image: xcode11.3 145 compiler: clang++ 146 env: UBSAN=1 TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z UBSAN_OPTIONS=print_stacktrace=1 147 148 - os: linux 149 env: CMAKE_TEST=1 150 script: 151 - mkdir __build__ && cd __build__ 152 - cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES=core .. 153 - ctest --output-on-failure -R boost_core 154 155 - os: linux 156 env: CMAKE_SUBDIR_TEST=1 157 install: 158 - BOOST_BRANCH=develop 159 - if [ "$TRAVIS_BRANCH" = "master" ]; then BOOST_BRANCH=master; fi 160 - git clone -b $BOOST_BRANCH https://github.com/boostorg/config.git ../config 161 - git clone -b $BOOST_BRANCH https://github.com/boostorg/assert.git ../assert 162 script: 163 - cd test/cmake_subdir_test && mkdir __build__ && cd __build__ 164 - cmake .. 165 - cmake --build . 166 - cmake --build . --target check 167 168 - os: linux 169 env: CMAKE_INSTALL_TEST=1 170 script: 171 - mkdir __build__ && cd __build__ 172 - cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES="assert;config;core" -DCMAKE_INSTALL_PREFIX=~/.local .. 173 - cmake --build . --target install 174 - cd ../libs/core/test/cmake_install_test && mkdir __build__ && cd __build__ 175 - cmake -DCMAKE_INSTALL_PREFIX=~/.local .. 176 - cmake --build . 177 - cmake --build . --target check 178 179install: 180 - BOOST_BRANCH=develop 181 - if [ "$TRAVIS_BRANCH" = "master" ]; then BOOST_BRANCH=master; fi 182 - cd .. 183 - git clone -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root 184 - cd boost-root 185 - git submodule init libs/headers 186 - git submodule init libs/assert 187 - git submodule init libs/config 188 - git submodule init libs/predef 189 - git submodule init libs/static_assert 190 - git submodule init libs/throw_exception 191 - git submodule init libs/type_traits 192 - git submodule init tools/build 193 - git submodule init tools/boost_install 194 - git submodule init tools/cmake 195 - git submodule update 196 - cp -r $TRAVIS_BUILD_DIR/* libs/core 197 - ./bootstrap.sh 198 - ./b2 headers 199 200script: 201 - |- 202 echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam 203 - BUILD_JOBS=`(nproc || sysctl -n hw.ncpu) 2> /dev/null` 204 - ./b2 -j $BUILD_JOBS libs/core/test toolset=$TOOLSET cxxstd=$CXXSTD variant=debug,release ${ADDRMD:+address-model=$ADDRMD} ${UBSAN:+cxxflags=-fsanitize=undefined cxxflags=-fno-sanitize-recover=undefined linkflags=-fsanitize=undefined define=UBSAN=1 debug-symbols=on} ${LINKFLAGS:+linkflags=$LINKFLAGS} 205 206notifications: 207 email: 208 on_success: always 209