diff --git a/.travis.yml b/.travis.yml index 7901b99..db5845b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ -# Copyright 2017 Emil Dotchevski -# Copyright 2016 Peter Dimov +# Copyright 2016-2018 Peter Dimov +# Copyright 2018-2019 Emil Dotchevski # Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt) @@ -7,6 +7,8 @@ language: cpp sudo: false +dist: trusty + python: "2.7" os: @@ -17,6 +19,7 @@ branches: only: - master - develop + - /^feature.*/ env: matrix: @@ -25,16 +28,22 @@ env: addons: apt: packages: - - g++-4.7 - - g++-4.8 - g++-4.9 - g++-5 - g++-6 - clang-3.6 - clang-3.7 - clang-3.8 + - ruby-full +# - python-3.6 + - ninja-build + sources: - ubuntu-toolchain-r-test + - llvm-toolchain-precise + - llvm-toolchain-precise-3.6 + - llvm-toolchain-precise-3.7 + - llvm-toolchain-precise-3.8 matrix: @@ -42,53 +51,327 @@ matrix: - env: BOGUS_JOB=true include: - - os: linux - env: TOOLSET=gcc COMPILER=g++ CXXSTD=c++0x - - - os: linux - env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=c++0x - - - os: linux - env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=c++0x - - - os: linux - env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=c++0x - - - os: linux - env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++0x - - - os: linux - env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++0x - - - os: linux - env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=c++0x - - - os: linux - env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=c++0x - - - os: linux - env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++0x - os: osx - env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++0x + osx_image: xcode11.2 + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=11,14,1z + + - os: osx + osx_image: xcode11.1 + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=11,14,1z + + - os: osx + osx_image: xcode11 + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=11,14,1z + + - os: osx + osx_image: xcode10.3 + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=11,14,1z + + - os: osx + osx_image: xcode10.2 + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=11,14,1z + + - os: osx + osx_image: xcode10.1 + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=11,14,1z + + - os: osx + osx_image: xcode10 + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=11,14,1z + + - os: osx + osx_image: xcode9.4 + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=11,14,1z + + - os: osx + osx_image: xcode9.3 + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=11,14,1z + + - os: osx + osx_image: xcode9.2 + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=11,14,1z + + - os: osx + osx_image: xcode9.1 + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=11,14,1z + + - os: osx + osx_image: xcode9 + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=11,14,1z + + - os: osx + osx_image: xcode8.3 + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=11,14,1z + + - os: osx + osx_image: xcode8 + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=11,14,1z + + - os: osx + compiler: clang++ + env: UBSAN=1 TOOLSET=clang COMPILER=clang++ CXXSTD=11,14,1z UBSAN_OPTIONS=print_stacktrace=1 + + - os: linux + compiler: g++-4.9 + env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=11 + addons: + apt: + packages: + - g++-4.9 + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: g++-5 + env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=11,14,1z + addons: + apt: + packages: + - g++-5 + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: g++-6 + env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=11,14,1z + addons: + apt: + packages: + - g++-6 + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: g++-7 + env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=11,14,17 + addons: + apt: + packages: + - g++-7 + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: g++-8 + env: TOOLSET=gcc COMPILER=g++-8 CXXSTD=11,14,17 + addons: + apt: + packages: + - g++-8 + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: g++-9 + env: TOOLSET=gcc COMPILER=g++-9 CXXSTD=11,14,17,2a + addons: + apt: + packages: + - g++-9 + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: g++-9 + env: UBSAN=1 TOOLSET=gcc COMPILER=g++-9 CXXSTD=11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1 LINKFLAGS=-fuse-ld=gold + addons: + apt: + packages: + - g++-9 + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: /usr/bin/clang++ + env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=11 + addons: + apt: + packages: + - clang-3.3 + + - os: linux + compiler: /usr/bin/clang++ + env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=11 + addons: + apt: + packages: + - clang-3.4 + + - os: linux + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=11 + + - os: linux + compiler: clang++-3.5 + env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=11,14,1z + addons: + apt: + packages: + - clang-3.5 + - libstdc++-4.9-dev + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: clang++-3.6 + env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=11,14,1z + addons: + apt: + packages: + - clang-3.6 + - libstdc++-4.9-dev + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: clang++-3.7 + env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=11,14,1z + addons: + apt: + packages: + - clang-3.7 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.7 + + - os: linux + compiler: clang++-3.8 + env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=11,14,1z + addons: + apt: + packages: + - clang-3.8 + - libstdc++-4.9-dev + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: clang++-3.9 + env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=11,14,1z + addons: + apt: + packages: + - clang-3.9 + - libstdc++-4.9-dev + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: clang++-4.0 + env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=11,14,1z + addons: + apt: + packages: + - clang-4.0 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-trusty-4.0 + + - os: linux + compiler: clang++-5.0 + env: TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=11,14,1z + addons: + apt: + packages: + - clang-5.0 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-trusty-5.0 + + - os: linux + compiler: clang++-6.0 + env: TOOLSET=clang COMPILER=clang++-6.0 CXXSTD=11,14,17 + addons: + apt: + packages: + - clang-6.0 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-trusty-6.0 + + - os: linux + compiler: clang++-7 + env: TOOLSET=clang COMPILER=clang++-7 CXXSTD=11,14,17,2a + addons: + apt: + packages: + - clang-7 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-trusty-7 + + - os: linux + compiler: clang++-8 + env: TOOLSET=clang COMPILER=clang++-8 CXXSTD=11,14,17,2a + addons: + apt: + packages: + - clang-8 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-trusty-8 + + - os: linux + dist: xenial + compiler: clang++-9 + env: TOOLSET=clang COMPILER=clang++-9 CXXSTD=11,14,17,2a + addons: + apt: + packages: + - clang-9 + sources: + - ubuntu-toolchain-r-test + - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main' + key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' + + - os: linux + compiler: clang++-8 + env: UBSAN=1 TOOLSET=clang COMPILER=clang++-8 CXXSTD=11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1 + addons: + apt: + packages: + - clang-8 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-trusty-8 install: + - gem install asciidoctor + - gem install coderay - cd .. - - git clone -b $TRAVIS_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root + - git clone -b master --depth 1 https://github.com/boostorg/boost.git boost-root - cd boost-root - git submodule update --init tools/build - git submodule update --init tools/inspect - git submodule update --init libs/config - git submodule update --init tools/boostdep + - mkdir libs/exception - cp -r $TRAVIS_BUILD_DIR/* libs/exception - python tools/boostdep/depinst/depinst.py exception - ./bootstrap.sh - ./b2 headers + - cd libs/exception script: - |- - echo "using $TOOLSET : : $COMPILER : -std=$CXXSTD ;" > ~/user-config.jam - - ./b2 libs/exception/test toolset=$TOOLSET + echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam + - ../../b2 test toolset=$TOOLSET cxxstd=$CXXSTD variant=debug,release,debug-diagnostics0,release-diagnostics0 ${UBSAN:+cxxflags=-fsanitize=undefined cxxflags=-fno-sanitize-recover=undefined linkflags=-fsanitize=undefined debug-symbols=on} ${LINKFLAGS:+linkflags=$LINKFLAGS} + - ../../b2 exception-handling=off rtti=off test toolset=$TOOLSET cxxstd=$CXXSTD variant=debug,release,debug-diagnostics0,release-diagnostics0 ${UBSAN:+cxxflags=-fsanitize=undefined cxxflags=-fno-sanitize-recover=undefined linkflags=-fsanitize=undefined debug-symbols=on} ${LINKFLAGS:+linkflags=$LINKFLAGS} notifications: email: