File: .appveyor.yml

package info (click to toggle)
boost1.74 1.74.0-9
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 464,084 kB
  • sloc: cpp: 3,338,324; xml: 131,293; python: 33,088; ansic: 14,336; asm: 4,034; sh: 3,351; makefile: 1,193; perl: 1,036; yacc: 478; php: 212; ruby: 102; lisp: 24; sql: 13; csh: 6
file content (65 lines) | stat: -rw-r--r-- 2,419 bytes parent folder | download | duplicates (2)
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'))