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: trusty 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 compiler: g++-7 132 env: UBSAN=1 TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17 UBSAN_OPTIONS=print_stacktrace=1 LINKFLAGS=-fuse-ld=gold 133 addons: 134 apt: 135 packages: 136 - g++-7 137 sources: 138 - ubuntu-toolchain-r-test 139 140 - os: linux 141 compiler: clang++ 142 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11 143 144 - os: linux 145 compiler: /usr/bin/clang++ 146 env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11 147 addons: 148 apt: 149 packages: 150 - clang-3.3 151 152 - os: linux 153 compiler: /usr/bin/clang++ 154 env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11 155 addons: 156 apt: 157 packages: 158 - clang-3.4 159 160 - os: linux 161 compiler: clang++-3.5 162 env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=03,11,14,1z 163 addons: 164 apt: 165 packages: 166 - clang-3.5 167 - libstdc++-4.9-dev 168 sources: 169 - ubuntu-toolchain-r-test 170 - llvm-toolchain-precise-3.5 171 172 - os: linux 173 compiler: clang++-3.6 174 env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=03,11,14,1z 175 addons: 176 apt: 177 packages: 178 - clang-3.6 179 sources: 180 - ubuntu-toolchain-r-test 181 - llvm-toolchain-precise-3.6 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 - llvm-toolchain-precise-3.7 193 194 - os: linux 195 compiler: clang++-3.8 196 env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=03,11,14,1z 197 addons: 198 apt: 199 packages: 200 - clang-3.8 201 - libstdc++-4.9-dev 202 sources: 203 - ubuntu-toolchain-r-test 204 - llvm-toolchain-precise-3.8 205 206 - os: linux 207 compiler: clang++-3.9 208 env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03,11,14,1z 209 addons: 210 apt: 211 packages: 212 - clang-3.9 213 - libstdc++-4.9-dev 214 sources: 215 - ubuntu-toolchain-r-test 216 - llvm-toolchain-precise-3.9 217 218 - os: linux 219 compiler: clang++-4.0 220 env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=03,11,14,1z 221 addons: 222 apt: 223 packages: 224 - clang-4.0 225 sources: 226 - ubuntu-toolchain-r-test 227 - llvm-toolchain-trusty-4.0 228 229 - os: linux 230 compiler: clang++-5.0 231 env: TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=03,11,14,1z 232 addons: 233 apt: 234 packages: 235 - clang-5.0 236 sources: 237 - ubuntu-toolchain-r-test 238 - llvm-toolchain-trusty-5.0 239 240 - os: linux 241 compiler: clang++-6.0 242 env: TOOLSET=clang COMPILER=clang++-6.0 CXXSTD=03,11,14,17,2a 243 addons: 244 apt: 245 packages: 246 - clang-6.0 247 sources: 248 - ubuntu-toolchain-r-test 249 - llvm-toolchain-trusty-6.0 250 251 - os: linux 252 compiler: clang++-7 253 env: TOOLSET=clang COMPILER=clang++-7 CXXSTD=03,11,14,17,2a 254 addons: 255 apt: 256 packages: 257 - clang-7 258 sources: 259 - ubuntu-toolchain-r-test 260 - llvm-toolchain-trusty-7 261 262 - os: linux 263 compiler: clang++-8 264 env: TOOLSET=clang COMPILER=clang++-8 CXXSTD=03,11,14,17,2a 265 addons: 266 apt: 267 packages: 268 - clang-8 269 sources: 270 - ubuntu-toolchain-r-test 271 - llvm-toolchain-trusty-8 272 273 - os: linux 274 compiler: clang++-7 275 env: UBSAN=1 TOOLSET=clang COMPILER=clang++-7 CXXSTD=03,11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1 276 addons: 277 apt: 278 packages: 279 - clang-7 280 - libstdc++-5-dev 281 sources: 282 - ubuntu-toolchain-r-test 283 - llvm-toolchain-trusty-7 284 285 - os: linux 286 compiler: clang++-libc++ 287 env: TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=03,11,14,1z 288 addons: 289 apt: 290 packages: 291 - libc++-dev 292 293 - os: linux 294 compiler: clang++-libc++ 295 env: UBSAN=1 TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=03,11,14,1z UBSAN_OPTIONS=print_stacktrace=1 296 addons: 297 apt: 298 packages: 299 - libc++-dev 300 301 - os: osx 302 compiler: clang++ 303 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z 304 305install: 306 - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true 307 - cd .. 308 - git clone -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root 309 - cd boost-root 310 - git submodule update --init tools/boostdep 311 - cp -r $TRAVIS_BUILD_DIR/* libs/proto 312 - python tools/boostdep/depinst/depinst.py proto 313 - ./bootstrap.sh 314 - ./b2 headers 315 316script: 317 - |- 318 echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam 319 - ./b2 -j3 libs/proto/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} 320 321notifications: 322 email: 323 on_success: always 324