| # Copyright 2016-2020 Peter Dimov |
| # 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) |
| |
| language: cpp |
| |
| dist: xenial |
| |
| branches: |
| only: |
| - master |
| - develop |
| - /feature\/.*/ |
| |
| env: |
| matrix: |
| - BOGUS_JOB=true |
| |
| matrix: |
| |
| exclude: |
| - env: BOGUS_JOB=true |
| |
| include: |
| - os: linux |
| dist: trusty |
| compiler: g++ |
| env: TOOLSET=gcc CXXSTD=03,11 |
| |
| - os: linux |
| dist: xenial |
| compiler: g++ |
| env: TOOLSET=gcc CXXSTD=03,11,14 |
| |
| - os: linux |
| dist: bionic |
| compiler: g++ |
| env: TOOLSET=gcc CXXSTD=03,11,14,17 |
| |
| - os: linux |
| dist: focal |
| compiler: g++ |
| env: TOOLSET=gcc CXXSTD=03,11,14,17 |
| |
| - os: linux |
| arch: arm64 |
| compiler: g++ |
| env: TOOLSET=gcc CXXSTD=03,11,14 |
| |
| - os: linux |
| arch: ppc64le |
| compiler: g++ |
| env: TOOLSET=gcc CXXSTD=03,11,14 |
| |
| - os: linux |
| arch: s390x |
| compiler: g++ |
| env: TOOLSET=gcc CXXSTD=03,11,14 |
| |
| - os: freebsd |
| compiler: clang++ |
| env: TOOLSET=clang CXXSTD=03,11,14,17,2a |
| |
| - os: linux |
| compiler: g++-4.4 |
| env: TOOLSET=gcc CXXSTD=98,0x |
| addons: |
| apt: |
| packages: |
| - g++-4.4 |
| sources: |
| - ubuntu-toolchain-r-test |
| |
| - os: linux |
| compiler: g++-4.6 |
| env: TOOLSET=gcc CXXSTD=03,0x |
| addons: |
| apt: |
| packages: |
| - g++-4.6 |
| sources: |
| - ubuntu-toolchain-r-test |
| |
| - os: linux |
| dist: bionic |
| compiler: g++-10 |
| env: UBSAN=1 TOOLSET=gcc CXXSTD=03,11,14 UBSAN_OPTIONS=print_stacktrace=1 LINKFLAGS=-fuse-ld=gold |
| addons: |
| apt: |
| packages: |
| - g++-10 |
| sources: |
| - ubuntu-toolchain-r-test |
| |
| - os: linux |
| dist: bionic |
| compiler: g++-10 |
| env: UBSAN=1 TOOLSET=gcc CXXSTD=17,2a UBSAN_OPTIONS=print_stacktrace=1 LINKFLAGS=-fuse-ld=gold |
| addons: |
| apt: |
| packages: |
| - g++-10 |
| sources: |
| - ubuntu-toolchain-r-test |
| |
| - os: linux |
| dist: trusty |
| compiler: /usr/bin/clang++ |
| env: TOOLSET=clang COMMENT=clang-3.3 CXXSTD=03,11 |
| addons: |
| apt: |
| packages: |
| - clang-3.3 |
| |
| - os: linux |
| dist: trusty |
| compiler: /usr/bin/clang++ |
| env: TOOLSET=clang COMMENT=clang-3.4 CXXSTD=03,11 |
| addons: |
| apt: |
| packages: |
| - clang-3.4 |
| |
| - os: linux |
| compiler: clang++-11 |
| env: UBSAN=1 TOOLSET=clang CXXSTD=03,11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1 |
| addons: |
| apt: |
| packages: |
| - clang-11 |
| sources: |
| - ubuntu-toolchain-r-test |
| - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-11 main' |
| key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' |
| |
| - os: linux |
| dist: trusty |
| compiler: clang++-libc++ |
| env: UBSAN=1 TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=03,11,14,1z UBSAN_OPTIONS=print_stacktrace=1 |
| addons: |
| apt: |
| packages: |
| - libc++-dev |
| |
| - os: linux |
| dist: bionic |
| compiler: clang++-libc++ |
| env: UBSAN=1 TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=03,11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1 |
| addons: |
| apt: |
| packages: |
| - libc++-dev |
| |
| - os: osx |
| compiler: clang++ |
| env: UBSAN=1 TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z UBSAN_OPTIONS=print_stacktrace=1 |
| |
| - os: linux |
| env: CMAKE_TEST=1 |
| script: |
| - mkdir __build__ && cd __build__ |
| - cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES=smart_ptr -DBUILD_TESTING=ON .. |
| - ctest --output-on-failure -R boost_smart_ptr |
| |
| - os: linux |
| compiler: g++ |
| env: CMAKE_SUBDIR_TEST=1 |
| script: |
| - cd libs/smart_ptr/test/cmake_subdir_test && mkdir __build__ && cd __build__ |
| - cmake .. |
| - cmake --build . |
| - cmake --build . --target check |
| |
| - os: linux |
| env: CMAKE_INSTALL_TEST=1 |
| script: |
| - pip install --user cmake |
| - mkdir __build__ && cd __build__ |
| - cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES=smart_ptr -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=~/.local .. |
| - cmake --build . --target install |
| - cd ../libs/smart_ptr/test/cmake_install_test && mkdir __build__ && cd __build__ |
| - cmake -DCMAKE_INSTALL_PREFIX=~/.local .. |
| - cmake --build . |
| - cmake --build . --target check |
| |
| install: |
| - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true |
| - cd .. |
| - git clone -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root |
| - cd boost-root |
| - git submodule init libs/align |
| - git submodule init libs/assert |
| - git submodule init libs/atomic |
| - git submodule init libs/config |
| - git submodule init libs/container_hash |
| - git submodule init libs/core |
| - git submodule init libs/move |
| - git submodule init libs/predef |
| - git submodule init libs/static_assert |
| - git submodule init libs/throw_exception |
| - git submodule init libs/type_traits |
| - git submodule init libs/detail |
| - git submodule init libs/integer |
| - git submodule init tools/build |
| - git submodule init libs/headers |
| - git submodule init tools/boost_install |
| - git submodule init tools/cmake |
| - git submodule init libs/preprocessor |
| - git submodule init libs/bind |
| - git submodule update # no --jobs 3 on non-amd64 |
| - cp -r $TRAVIS_BUILD_DIR/* libs/smart_ptr |
| - ./bootstrap.sh |
| - ./b2 headers |
| |
| script: |
| - |- |
| echo "using $TOOLSET : : $TRAVIS_COMPILER ;" > ~/user-config.jam |
| - ./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} |
| |
| notifications: |
| email: |
| on_success: always |