Skip to content

Commit ed6939a

Browse files
committed
Merge branch 'develop'
2 parents 15a2623 + 8281e57 commit ed6939a

File tree

16 files changed

+463
-195
lines changed

16 files changed

+463
-195
lines changed

.github/codecov.sh

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
#! /bin/bash
2+
#
3+
# Copyright 2017 - 2019 James E. King III
4+
# Distributed under the Boost Software License, Version 1.0.
5+
# (See accompanying file LICENSE_1_0.txt or copy at
6+
# http://www.boost.org/LICENSE_1_0.txt)
7+
#
8+
# Bash script to run on Github Actions to perform codecov.io integration
9+
#
10+
11+
# assumes an environment variable $LIBRARY set to the boost project name
12+
# and BOOST_ROOT to be set
13+
14+
set -eux
15+
16+
if [[ "$1" == "setup" ]]; then
17+
echo "B2_VARIANT=debug" >> "$GITHUB_ENV"
18+
echo "B2_FLAGS=cxxflags=--coverage linkflags=--coverage" >> "$GITHUB_ENV"
19+
else
20+
ver=7 # default
21+
if [ "${B2_COMPILER%%-*}" == "g++" ]; then
22+
if [[ "$B2_COMPILER" =~ g\+\+- ]]; then
23+
ver="${B2_COMPILER##*g++-}"
24+
fi
25+
fi
26+
GCOV=gcov-${ver}
27+
28+
# install the latest lcov we know works
29+
rm -rf /tmp/lcov
30+
pushd /tmp
31+
git clone -b v1.14 https://github.com/linux-test-project/lcov.git
32+
export PATH=/tmp/lcov/bin:$PATH
33+
command -v lcov
34+
lcov --version
35+
popd
36+
37+
# switch back to the original source code directory
38+
cd "$GITHUB_WORKSPACE"
39+
: "${LCOV_BRANCH_COVERAGE:=1}" # Set default
40+
41+
lcov --gcov-tool="$GCOV" --rc lcov_branch_coverage=${LCOV_BRANCH_COVERAGE} --base-directory "$BOOST_ROOT/libs/$LIBRARY" --directory "$BOOST_ROOT" --capture --output-file all.info
42+
43+
# all.info contains all the coverage info for all projects - limit to ours
44+
# first we extract the interesting headers for our project then we use that list to extract the right things
45+
for f in $(for f2 in include/boost/*; do echo "$f2"; done | cut -f2- -d/); do echo "*/$f*"; done > /tmp/interesting
46+
echo headers that matter:
47+
cat /tmp/interesting
48+
xargs -L 999999 -a /tmp/interesting lcov --gcov-tool="$GCOV" --rc lcov_branch_coverage=${LCOV_BRANCH_COVERAGE} --extract all.info {} "*/libs/$LIBRARY/src/*" --output-file coverage.info
49+
50+
# dump a summary on the console - helps us identify problems in pathing
51+
lcov --gcov-tool="$GCOV" --rc lcov_branch_coverage=${LCOV_BRANCH_COVERAGE} --list coverage.info
52+
53+
# upload to codecov.io
54+
curl -s https://codecov.io/bash > .codecov
55+
chmod +x .codecov
56+
./.codecov -f coverage.info -X gcov -x "$GCOV"
57+
fi

.github/workflows/ci_tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
- name: Set BOOST_ROOT
4343
if: matrix.standalone == 'Boost'
4444
shell: bash
45-
run: echo "::set-env name=BOOST_ROOT::${DEP_DIR//\\/\/}/boost_${BOOST_VERSION//./_}"
45+
run: echo "BOOST_ROOT=${DEP_DIR//\\/\/}/boost_${BOOST_VERSION//./_}" >> $GITHUB_ENV
4646
# Install Boost
4747
- uses: actions/checkout@v2
4848
if: matrix.standalone == 'Boost' && steps.cache-boost.outputs.cache-hit != 'true'

.github/workflows/posix.yml

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
name: POSIX
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches:
7+
- master
8+
- develop
9+
- feature/**
10+
11+
env:
12+
UBSAN_OPTIONS: print_stacktrace=1
13+
B2_VARIANT: debug,release
14+
B2_LINK: shared,static
15+
16+
jobs:
17+
CI:
18+
strategy:
19+
fail-fast: false
20+
matrix:
21+
include:
22+
- { compiler: g++-4.4, cxxstd: '98,0x', os: ubuntu-16.04, install: yes }
23+
- { compiler: g++-5, cxxstd: '03,11,14', os: ubuntu-16.04, install: yes }
24+
- { compiler: g++-6, cxxstd: '03,11,14,17', os: ubuntu-16.04, install: yes }
25+
- { compiler: g++-7, cxxstd: '03,11,14,17', os: ubuntu-20.04, install: yes }
26+
- { compiler: g++-8, cxxstd: '03,11,14,17,2a', os: ubuntu-20.04, install: yes }
27+
- { compiler: g++-9, cxxstd: '03,11,14,17,2a', os: ubuntu-20.04, install: yes }
28+
- { compiler: g++-10, cxxstd: '03,11,14,17,2a', sanitize: yes, os: ubuntu-20.04, install: yes, linkflags: -fuse-ld=gold }
29+
- { compiler: clang++-3.5, cxxstd: '03,11', os: ubuntu-16.04, install: yes }
30+
- { compiler: clang++-6.0, cxxstd: '03,11', os: ubuntu-16.04, install: yes }
31+
- { compiler: clang++-7, cxxstd: '03,11', os: ubuntu-18.04, install: yes }
32+
- { compiler: clang++-8, cxxstd: '03,11,14', os: ubuntu-18.04, install: yes }
33+
- { compiler: clang++-9, cxxstd: '03,11,14', os: ubuntu-18.04, install: yes }
34+
- { compiler: clang++-10, cxxstd: '03,11,14,17,2a', sanitize: yes, os: ubuntu-20.04, install: yes }
35+
- { compiler: clang++-libc++, cxxstd: '03,11,14', os: ubuntu-18.04, install: 'libc++-dev libc++-helpers' }
36+
- { compiler: clang++, cxxstd: '03,11,14,1z', sanitize: yes, os: macos-10.15 }
37+
# Codecov
38+
- { compiler: g++-8, cxxstd: '03,11', coverage: yes, os: ubuntu-20.04, install: yes }
39+
40+
runs-on: ${{matrix.os}}
41+
42+
steps:
43+
- uses: actions/checkout@v2
44+
45+
- name: Install packages
46+
if: matrix.install
47+
run: |
48+
if [[ "${{matrix.install}}" == "yes" ]]; then
49+
pkgs="${{matrix.compiler}}"
50+
pkgs="${pkgs/clang++-/clang-}"
51+
else
52+
pkgs="${{matrix.install}}"
53+
fi
54+
sudo apt install $pkgs
55+
56+
- name: Setup config vars
57+
run: |
58+
echo "LIBRARY=${GITHUB_REPOSITORY#*/}" >> $GITHUB_ENV
59+
echo "B2_COMPILER=${{matrix.compiler}}" >> $GITHUB_ENV
60+
${{matrix.compiler}} --version
61+
if [[ "${{matrix.compiler}}" =~ clang ]]; then
62+
B2_TOOLSET=clang
63+
elif [[ "${{matrix.compiler}}" =~ g\+\+ ]]; then
64+
B2_TOOLSET=gcc
65+
else
66+
echo "Unknown compiler: ${{matrix.compiler}}" >&2
67+
false
68+
fi
69+
echo "using $B2_TOOLSET : : ${{matrix.compiler}} ;" > ~/user-config.jam
70+
echo "B2_TOOLSET=$B2_TOOLSET" >> $GITHUB_ENV
71+
echo "B2_CXXSTD=${{matrix.cxxstd}}" >> $GITHUB_ENV
72+
if [[ "${{matrix.sanitize}}" == "yes" ]]; then
73+
echo "B2_ASAN=address-sanitizer=norecover" >> $GITHUB_ENV
74+
echo "B2_UBSAN=undefined-sanitizer=norecover" >> $GITHUB_ENV
75+
fi
76+
[[ "${{matrix.linkflags}}" == "" ]] || echo "B2_LINKFLAGS=linkflags=${{matrix.linkflags}}" >> $GITHUB_ENV
77+
78+
- name: Setup Boost
79+
run: |
80+
REF=${GITHUB_BASE_REF:-$GITHUB_REF}
81+
BOOST_BRANCH=develop && [ "$REF" == "master" ] && BOOST_BRANCH=master || true
82+
cd ..
83+
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
84+
cd boost-root
85+
echo "BOOST_ROOT=$PWD" >> $GITHUB_ENV
86+
cp -r $GITHUB_WORKSPACE/* libs/$LIBRARY
87+
git submodule update --init tools/boostdep
88+
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" $LIBRARY
89+
./bootstrap.sh
90+
./b2 headers
91+
92+
- name: Setup coverage
93+
if: matrix.coverage
94+
run: .github/codecov.sh setup
95+
96+
- name: Run tests
97+
working-directory: ${{env.BOOST_ROOT}}
98+
run: ./b2 -j3 libs/$LIBRARY/test toolset=$B2_TOOLSET cxxstd=$B2_CXXSTD variant=$B2_VARIANT link=$B2_LINK $B2_ASAN $B2_UBSAN $B2_LINKFLAGS $B2_FLAGS
99+
100+
- name: Collect coverage
101+
if: matrix.coverage
102+
run: ${{github.workspace}}/.github/codecov.sh collect

.travis.yml

Lines changed: 0 additions & 151 deletions
This file was deleted.

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
cmake_minimum_required(VERSION 3.9)
1717
# Version number starts at 10 to avoid conflicts with Boost version
18-
set(_version 11.0.0)
18+
set(_version 11.1.0)
1919
if(BOOST_SUPERPROJECT_SOURCE_DIR)
2020
set(_version ${BOOST_SUPERPROJECT_VERSION})
2121
endif()

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# Boost.Nowide
22

3-
Branch | Travis | Appveyor | Github | codecov.io | Documentation
4-
------------|--------|----------|--------|------------|--------------
5-
[master](https://github.com/boostorg/nowide/tree/master) | [![Build Status](https://travis-ci.com/boostorg/nowide.svg?branch=master)](https://travis-ci.com/boostorg/nowide) | [![Build status](https://ci.appveyor.com/api/projects/status/w5sywrekwd66say4/branch/master?svg=true)](https://ci.appveyor.com/project/Flamefire/nowide-fr98b/branch/master) | ![](https://github.com/boostorg/nowide/workflows/CI%20Tests/badge.svg?branch=master) | [![codecov](https://codecov.io/gh/boostorg/nowide/branch/master/graph/badge.svg)](https://codecov.io/gh/boostorg/nowide/branch/master) | [![Documentation](https://img.shields.io/badge/documentation-master-brightgreen.svg)](https://www.boost.org/doc/libs/master/libs/nowide/index.html)
6-
[develop](https://github.com/boostorg/nowide/tree/develop) | [![Build Status](https://travis-ci.com/boostorg/nowide.svg?branch=develop)](https://travis-ci.com/boostorg/nowide) | [![Build status](https://ci.appveyor.com/api/projects/status/w5sywrekwd66say4/branch/develop?svg=true)](https://ci.appveyor.com/project/Flamefire/nowide-fr98b/branch/develop) | ![](https://github.com/boostorg/nowide/workflows/CI%20Tests/badge.svg?branch=develop) | [![codecov](https://codecov.io/gh/boostorg/nowide/branch/develop/graph/badge.svg)](https://codecov.io/gh/boostorg/nowide/branch/develop) | [![Documentation](https://img.shields.io/badge/documentation-develop-brightgreen.svg)](https://www.boost.org/doc/libs/develop/libs/nowide/index.html)
3+
Branch | Appveyor | Github | codecov.io | Documentation
4+
------------|----------|--------|------------|--------------
5+
[master](https://github.com/boostorg/nowide/tree/master) | [![Build status](https://ci.appveyor.com/api/projects/status/w5sywrekwd66say4/branch/master?svg=true)](https://ci.appveyor.com/project/Flamefire/nowide-fr98b/branch/master) | ![](https://github.com/boostorg/nowide/workflows/CI%20Tests/badge.svg?branch=master) ![](https://github.com/boostorg/nowide/workflows/POSIX/badge.svg?branch=master) | [![codecov](https://codecov.io/gh/boostorg/nowide/branch/master/graph/badge.svg)](https://codecov.io/gh/boostorg/nowide/branch/master) | [![Documentation](https://img.shields.io/badge/documentation-master-brightgreen.svg)](https://www.boost.org/doc/libs/master/libs/nowide/index.html)
6+
[develop](https://github.com/boostorg/nowide/tree/develop) | [![Build status](https://ci.appveyor.com/api/projects/status/w5sywrekwd66say4/branch/develop?svg=true)](https://ci.appveyor.com/project/Flamefire/nowide-fr98b/branch/develop) | ![](https://github.com/boostorg/nowide/workflows/CI%20Tests/badge.svg?branch=develop) ![](https://github.com/boostorg/nowide/workflows/POSIX/badge.svg?branch=develop) | [![codecov](https://codecov.io/gh/boostorg/nowide/branch/develop/graph/badge.svg)](https://codecov.io/gh/boostorg/nowide/branch/develop) | [![Documentation](https://img.shields.io/badge/documentation-develop-brightgreen.svg)](https://www.boost.org/doc/libs/develop/libs/nowide/index.html)
77

88
Coverity Scan: [![Coverity Scan Build Status](https://scan.coverity.com/projects/20464/badge.svg)](https://scan.coverity.com/projects/boostorg-nowide)
99

doc/Doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -582,7 +582,7 @@ FILE_PATTERNS = *.cpp *.hpp *.md *.dox
582582
# should be searched for input files as well. Possible values are YES and NO.
583583
# If left blank NO is used.
584584

585-
RECURSIVE = NO
585+
RECURSIVE = YES
586586

587587
# The EXCLUDE tag can be used to specify files and/or directories that should
588588
# excluded from the INPUT source files. This way you can easily exclude a

0 commit comments

Comments
 (0)