158 lines
4.2 KiB
YAML
158 lines
4.2 KiB
YAML
# Use, modification, and distribution are
|
|
# subject to the Boost Software License, Version 1.0. (See accompanying
|
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
#
|
|
# Copyright Rene Rivera 2015-2016.
|
|
|
|
sudo: false
|
|
dist: trusty
|
|
language: cpp
|
|
|
|
branches:
|
|
only:
|
|
- master
|
|
- develop
|
|
|
|
env:
|
|
global:
|
|
# see: http://www.boost.org/build/doc/html/bbv2/overview/invocation.html#bbv2.overview.invocation.properties
|
|
# to use the default for a given environment, comment it out; recommend you build debug and release however..
|
|
# - B2_ADDRESS_MODEL=address-model=64,32
|
|
# - B2_LINK=link=shared,static
|
|
# - B2_THREADING=threading=multi,single
|
|
- B2_VARIANT=variant=release,debug
|
|
|
|
install:
|
|
- export SELF=`basename $TRAVIS_BUILD_DIR`
|
|
- cd ..
|
|
- git clone -b $TRAVIS_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
|
|
- cd boost-root
|
|
- git submodule update --init tools/boostdep
|
|
- git submodule update --init tools/build
|
|
- git submodule update --init tools/inspect
|
|
- cp -r $TRAVIS_BUILD_DIR/* libs/$SELF
|
|
- export BOOST_ROOT="`pwd`"
|
|
- export PATH="`pwd`":$PATH
|
|
- python tools/boostdep/depinst/depinst.py $SELF
|
|
- ./bootstrap.sh
|
|
- ./b2 headers
|
|
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- binutils-gold
|
|
- gdb
|
|
- libc6-dbg
|
|
|
|
script:
|
|
- |-
|
|
echo "using $TOOLSET : : $COMPILER : <cxxflags>-std=$CXXSTD ;" > ~/user-config.jam
|
|
- ./b2 libs/$SELF/test toolset=$TOOLSET $CXXFLAGS $LINKFLAGS $B2_ADDRESS_MODEL $B2_LINK $B2_THREADING $B2_VARIANT -j3
|
|
|
|
|
|
jobs:
|
|
include:
|
|
# C++03 using stock compilers
|
|
- os: linux
|
|
env:
|
|
- TOOLSET=gcc
|
|
- CXXSTD=c++03
|
|
- os: linux
|
|
env:
|
|
- TOOLSET=clang
|
|
- CXXSTD=c++03
|
|
|
|
# C++17 using the latest compilers
|
|
- os: linux
|
|
env:
|
|
- TOOLSET=gcc
|
|
- COMPILER=g++-7
|
|
- CXXSTD=c++17
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- g++-7
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
- os: linux
|
|
env:
|
|
- TOOLSET=clang
|
|
- COMPILER=clang++-5.0
|
|
- CXXSTD=c++17
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- clang-5.0
|
|
- g++-7
|
|
sources:
|
|
- llvm-toolchain-trusty-5.0
|
|
- ubuntu-toolchain-r-test
|
|
|
|
- os: osx
|
|
env:
|
|
- TOOLSET=clang
|
|
- CXXSTD=c++03
|
|
|
|
- os: osx
|
|
osx_image: xcode9.1
|
|
env:
|
|
- TOOLSET=clang
|
|
- CXXSTD=c++03
|
|
|
|
# Coverity Scan - runs on pull requests into master
|
|
- os: linux
|
|
if: branch = master or branch = develop
|
|
script:
|
|
- echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-
|
|
- libs/$SELF/covscan.sh
|
|
env:
|
|
- COMMENT="Coverity Scan"
|
|
|
|
# UBSAN build
|
|
- os: linux
|
|
env:
|
|
- COMMENT="UBSAN"
|
|
- B2_VARIANT=variant=debug
|
|
- TOOLSET=clang
|
|
- COMPILER=clang++-5.0
|
|
- CXXSTD=c++03
|
|
- CXXFLAGS="cxxflags=-fno-omit-frame-pointer cxxflags=-fsanitize=undefined cxxflags=-fsanitize=integer"
|
|
- LINKFLAGS="linkflags=-fsanitize=undefined"
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- clang-5.0
|
|
- g++-7
|
|
sources:
|
|
- llvm-toolchain-trusty-5.0
|
|
- ubuntu-toolchain-r-test
|
|
|
|
after_success:
|
|
# If this is not a profiling build skip the rest...
|
|
- if [[ "$COVERALL" -ne "1" ]]; then exit 0; fi
|
|
|
|
# Copying Coveralls data to a separate folder
|
|
- wget https://github.com/linux-test-project/lcov/archive/v1.13.zip
|
|
- unzip v1.13.zip
|
|
- LCOV="`pwd`/lcov-1.13/bin/lcov --gcov-tool gcov-6"
|
|
|
|
# Preparing Coveralls data
|
|
- mkdir -p $TRAVIS_BUILD_DIR/coverals
|
|
- $LCOV --directory bin.v2/libs/$SELF --base-directory libs/$SELF --capture --output-file $TRAVIS_BUILD_DIR/coverals/coverage.info --no-external
|
|
- $LCOV --remove $TRAVIS_BUILD_DIR/coverals/coverage.info "*/$SELF/test/*" --output-file $TRAVIS_BUILD_DIR/coverals/coverage-filtered.info
|
|
|
|
# Sending data to Coveralls
|
|
- cd $TRAVIS_BUILD_DIR
|
|
- gem install coveralls-lcov
|
|
- coveralls-lcov coverals/coverage-filtered.info
|
|
|
|
notifications:
|
|
email:
|
|
recipients:
|
|
- jhunold@gmx.eu
|
|
|
|
|
|
cache:
|
|
directories:
|
|
- $HOME/boost-root
|