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 dist: trusty 27 compiler: g++ 28 env: TOOLSET=gcc CXXSTD=03,11 29 30 - os: linux 31 dist: xenial 32 compiler: g++ 33 env: TOOLSET=gcc CXXSTD=03,11,14 34 35 - os: linux 36 dist: bionic 37 compiler: g++ 38 env: TOOLSET=gcc CXXSTD=03,11,14,17 39 40 - os: linux 41 dist: focal 42 compiler: g++ 43 env: TOOLSET=gcc CXXSTD=03,11,14,17 44 45 - os: linux 46 arch: arm64 47 compiler: g++ 48 env: TOOLSET=gcc CXXSTD=03,11,14 49 50 - os: linux 51 arch: ppc64le 52 compiler: g++ 53 env: TOOLSET=gcc CXXSTD=03,11,14 54 55 - os: linux 56 arch: s390x 57 compiler: g++ 58 env: TOOLSET=gcc CXXSTD=03,11,14 59 60 - os: freebsd 61 compiler: clang++ 62 env: TOOLSET=clang CXXSTD=03,11,14,17,2a 63 64 - os: linux 65 compiler: g++-4.4 66 env: TOOLSET=gcc CXXSTD=98,0x 67 addons: 68 apt: 69 packages: 70 - g++-4.4 71 sources: 72 - ubuntu-toolchain-r-test 73 74 - os: linux 75 compiler: g++-4.6 76 env: TOOLSET=gcc CXXSTD=03,0x 77 addons: 78 apt: 79 packages: 80 - g++-4.6 81 sources: 82 - ubuntu-toolchain-r-test 83 84 - os: linux 85 dist: bionic 86 compiler: g++-10 87 env: UBSAN=1 TOOLSET=gcc CXXSTD=03,11,14 UBSAN_OPTIONS=print_stacktrace=1 LINKFLAGS=-fuse-ld=gold 88 addons: 89 apt: 90 packages: 91 - g++-10 92 sources: 93 - ubuntu-toolchain-r-test 94 95 - os: linux 96 dist: bionic 97 compiler: g++-10 98 env: UBSAN=1 TOOLSET=gcc CXXSTD=17,2a UBSAN_OPTIONS=print_stacktrace=1 LINKFLAGS=-fuse-ld=gold 99 addons: 100 apt: 101 packages: 102 - g++-10 103 sources: 104 - ubuntu-toolchain-r-test 105 106 - os: linux 107 dist: trusty 108 compiler: /usr/bin/clang++ 109 env: TOOLSET=clang COMMENT=clang-3.3 CXXSTD=03,11 110 addons: 111 apt: 112 packages: 113 - clang-3.3 114 115 - os: linux 116 dist: trusty 117 compiler: /usr/bin/clang++ 118 env: TOOLSET=clang COMMENT=clang-3.4 CXXSTD=03,11 119 addons: 120 apt: 121 packages: 122 - clang-3.4 123 124 - os: linux 125 compiler: clang++-11 126 env: UBSAN=1 TOOLSET=clang CXXSTD=03,11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1 127 addons: 128 apt: 129 packages: 130 - clang-11 131 sources: 132 - ubuntu-toolchain-r-test 133 - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-11 main' 134 key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' 135 136 - os: linux 137 dist: trusty 138 compiler: clang++-libc++ 139 env: UBSAN=1 TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=03,11,14,1z UBSAN_OPTIONS=print_stacktrace=1 140 addons: 141 apt: 142 packages: 143 - libc++-dev 144 145 - os: linux 146 dist: bionic 147 compiler: clang++-libc++ 148 env: UBSAN=1 TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=03,11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1 149 addons: 150 apt: 151 packages: 152 - libc++-dev 153 154 - os: osx 155 compiler: clang++ 156 env: UBSAN=1 TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z UBSAN_OPTIONS=print_stacktrace=1 157 158 - os: linux 159 env: CMAKE_TEST=1 160 script: 161 - mkdir __build__ && cd __build__ 162 - cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES=smart_ptr -DBUILD_TESTING=ON .. 163 - ctest --output-on-failure -R boost_smart_ptr 164 165 - os: linux 166 compiler: g++ 167 env: CMAKE_SUBDIR_TEST=1 168 script: 169 - cd libs/smart_ptr/test/cmake_subdir_test && mkdir __build__ && cd __build__ 170 - cmake .. 171 - cmake --build . 172 - cmake --build . --target check 173 174 - os: linux 175 env: CMAKE_INSTALL_TEST=1 176 script: 177 - pip install --user cmake 178 - mkdir __build__ && cd __build__ 179 - cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES=smart_ptr -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=~/.local .. 180 - cmake --build . --target install 181 - cd ../libs/smart_ptr/test/cmake_install_test && mkdir __build__ && cd __build__ 182 - cmake -DCMAKE_INSTALL_PREFIX=~/.local .. 183 - cmake --build . 184 - cmake --build . --target check 185 186install: 187 - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true 188 - cd .. 189 - git clone -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root 190 - cd boost-root 191 - git submodule init libs/align 192 - git submodule init libs/assert 193 - git submodule init libs/atomic 194 - git submodule init libs/config 195 - git submodule init libs/container_hash 196 - git submodule init libs/core 197 - git submodule init libs/move 198 - git submodule init libs/predef 199 - git submodule init libs/static_assert 200 - git submodule init libs/throw_exception 201 - git submodule init libs/type_traits 202 - git submodule init libs/detail 203 - git submodule init libs/integer 204 - git submodule init tools/build 205 - git submodule init libs/headers 206 - git submodule init tools/boost_install 207 - git submodule init tools/cmake 208 - git submodule init libs/preprocessor 209 - git submodule init libs/bind 210 - git submodule update # no --jobs 3 on non-amd64 211 - cp -r $TRAVIS_BUILD_DIR/* libs/smart_ptr 212 - ./bootstrap.sh 213 - ./b2 headers 214 215script: 216 - |- 217 echo "using $TOOLSET : : $TRAVIS_COMPILER ;" > ~/user-config.jam 218 - ./b2 -j3 libs/smart_ptr/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} 219 220notifications: 221 email: 222 on_success: always 223