1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
# Copyright 2017-2019 Hans Dembinski
# 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)
shallow_clone: true
max_jobs: 2
matrix:
fast_finish: true
image:
- Visual Studio 2017
- Ubuntu
branches:
only:
- master
- develop
build: off
environment:
B2_OPTS: -j2 -q warnings-as-errors=on
UBSAN_OPTIONS: print_stacktrace=1
LSAN_OPTIONS: verbosity=1:log_threads=1
ASAN_OPTIONS: detect_leaks=1:detect_stack_use_after_return=1
install:
# clone minimal set of Boost libraries
- cd ..
- cmd: git clone -b %APPVEYOR_REPO_BRANCH% --depth 5 https://github.com/boostorg/boost.git
- sh: git clone -b $APPVEYOR_REPO_BRANCH --depth 5 https://github.com/boostorg/boost.git
- cd boost
- git submodule update --init --depth 5 tools/build tools/boostdep
# replace Boost library with this project and install dependencies
- cmd: xcopy /s /e /q %APPVEYOR_BUILD_FOLDER% libs\histogram\
- cmd: python tools\boostdep\depinst\depinst.py -N units -N range -N accumulators --git_args "--depth 5 --jobs 2" histogram
- sh: rm -rf libs/histogram ; mv $APPVEYOR_BUILD_FOLDER libs/histogram
- sh: python3 tools/boostdep/depinst/depinst.py --git_args "--depth 5 --jobs 2" histogram
# use hdembinski/serialization due to frequent errors in boostorg/serialization
- cd libs/serialization
- git remote add patch https://github.com/HDembinski/serialization.git
- git fetch patch
- git checkout patch/boost_histogram
- cd ../..
# prepare Boost build
- cmd: cmd /c bootstrap & b2 headers & cd libs\histogram
- sh: ./bootstrap.sh; ./b2 headers; cd libs/histogram
test_script:
# on windows
- cmd: ..\..\b2 %B2_OPTS% cxxstd=latest test//minimal test//serialization
# on linux
- sh:
B2="../../b2 ${B2_OPTS}";
$B2 toolset=gcc-7 cxxstd=14 exception-handling=off rtti=off test//minimal &&
$B2 toolset=gcc-9 cxxstd=latest cxxflags="-O3 -funsafe-math-optimizations" examples test//all &&
$B2 toolset=clang-6 cxxstd=latest variant=histogram_ubasan test//all
## Uncomment the following to stop VM and enable interactive login.
## Instructions how to log into the Appveyor VM are automatically printed.
# on_failure:
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
|