Skip to content

Commit 4c8dc3a

Browse files
committed
Update CI to 2024.12 spec, update README
1 parent f47a069 commit 4c8dc3a

File tree

3 files changed

+62
-83
lines changed

3 files changed

+62
-83
lines changed

.appveyor.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,12 @@ branches:
3333
- /fix\/.*/
3434
- /pr\/.*/
3535

36+
skip_commits:
37+
files:
38+
- LICENSE
39+
- meta/*
40+
- README.md
41+
3642
matrix:
3743
fast_finish: false
3844
# Adding MAYFAIL to any matrix job allows it to fail but the build stays green:

.github/workflows/ci.yml

Lines changed: 46 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Copyright 2020-2021 Peter Dimov
22
# Copyright 2021 Andrey Semashev
33
# Copyright 2021 Alexander Grund
4-
# Copyright 2022 James E. King III
4+
# Copyright 2022-2024 James E. King III
55
#
66
# Distributed under the Boost Software License, Version 1.0.
77
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
@@ -18,6 +18,10 @@ on:
1818
- feature/**
1919
- fix/**
2020
- pr/**
21+
paths-ignore:
22+
- LICENSE
23+
- meta/**
24+
- README.md
2125

2226
concurrency:
2327
group: ${{format('{0}:{1}', github.repository, github.ref)}}
@@ -29,8 +33,7 @@ env:
2933
B2_CI_VERSION: 1
3034
B2_VARIANT: debug,release
3135
B2_LINK: shared,static
32-
LCOV_BRANCH_COVERAGE: 1
33-
CODECOV_NAME: Github Actions
36+
LCOV_BRANCH_COVERAGE: 0
3437

3538
jobs:
3639
posix:
@@ -42,54 +45,37 @@ jobs:
4245
fail-fast: false
4346
matrix:
4447
include:
45-
# Linux, gcc
46-
- { compiler: gcc-4.8, cxxstd: '11', os: ubuntu-latest, container: 'ubuntu:16.04' }
47-
- { compiler: gcc-4.9, cxxstd: '11', os: ubuntu-latest, container: 'ubuntu:16.04' }
48-
- { compiler: gcc-5, cxxstd: '11,14,1z', os: ubuntu-latest, container: 'ubuntu:18.04' }
49-
- { compiler: gcc-6, cxxstd: '11,14,17', os: ubuntu-latest, container: 'ubuntu:18.04' }
50-
- { compiler: gcc-7, cxxstd: '11,14,17', os: ubuntu-20.04 }
51-
- { compiler: gcc-8, cxxstd: '11,14,17,2a', os: ubuntu-20.04 }
52-
- { compiler: gcc-9, cxxstd: '11,14,17,2a', os: ubuntu-20.04 }
53-
- { compiler: gcc-10, cxxstd: '11,14,17,20', os: ubuntu-22.04 }
54-
- { compiler: gcc-11, cxxstd: '11,14,17,20', os: ubuntu-22.04 }
55-
- { compiler: gcc-12, cxxstd: '11,14,17,20', os: ubuntu-22.04 }
56-
- { compiler: gcc-13, cxxstd: '11,14,17,20,2b', os: ubuntu-24.04 }
48+
# linux, gcc
49+
- { compiler: gcc-7, cxxstd: '11,14,17', os: ubuntu-20.04 }
50+
- { compiler: gcc-8, cxxstd: '11,14,17,2a', os: ubuntu-20.04 }
51+
- { compiler: gcc-9, cxxstd: '11,14,17,2a', os: ubuntu-20.04 }
52+
- { compiler: gcc-10, cxxstd: '11,14,17,20', os: ubuntu-20.04 }
53+
- { compiler: gcc-11, cxxstd: '11,14,17,20', os: ubuntu-20.04 }
54+
- { compiler: gcc-12, cxxstd: '11,14,17,20', os: ubuntu-22.04 }
55+
- { compiler: gcc-13, cxxstd: '11,14,17,20,2b', os: ubuntu-22.04 }
5756
- { compiler: gcc-14, cxxstd: '11,14,17,20,2b', os: ubuntu-24.04 }
5857
- { name: GCC w/ sanitizers, sanitize: yes,
59-
compiler: gcc-13, cxxstd: '11,14,17,20', os: ubuntu-24.04 }
58+
compiler: gcc-13, cxxstd: '11,14,17,20', os: ubuntu-22.04 }
6059
- { name: Collect coverage, coverage: yes,
61-
compiler: gcc-13, cxxstd: '11,14,17,20,2b', os: ubuntu-24.04, install: 'g++-13-multilib', address-model: '32,64' }
62-
63-
# Linux, clang
64-
- { compiler: clang-3.5, cxxstd: '11', os: ubuntu-latest, container: 'ubuntu:16.04' }
65-
- { compiler: clang-3.6, cxxstd: '11,14', os: ubuntu-latest, container: 'ubuntu:16.04' }
66-
- { compiler: clang-3.7, cxxstd: '11,14', os: ubuntu-latest, container: 'ubuntu:16.04' }
67-
- { compiler: clang-3.8, cxxstd: '11,14', os: ubuntu-latest, container: 'ubuntu:16.04' }
68-
- { compiler: clang-3.9, cxxstd: '11,14', os: ubuntu-latest, container: 'ubuntu:18.04' }
69-
- { compiler: clang-4.0, cxxstd: '11,14', os: ubuntu-latest, container: 'ubuntu:18.04' }
70-
- { compiler: clang-5.0, cxxstd: '11,14,1z', os: ubuntu-latest, container: 'ubuntu:18.04' }
71-
- { compiler: clang-6.0, cxxstd: '11,14,17', os: ubuntu-20.04 }
72-
- { compiler: clang-7, cxxstd: '11,14,17', os: ubuntu-20.04 }
73-
# Note: clang-8 does not fully support C++20, so it is not compatible with some libstdc++ versions in this mode
74-
- { compiler: clang-8, cxxstd: '11,14,17,2a', os: ubuntu-20.04 , install: 'clang-8 g++-7', gcc_toolchain: 7 }
75-
- { compiler: clang-9, cxxstd: '11,14,17,2a', os: ubuntu-20.04 }
76-
- { compiler: clang-10, cxxstd: '11,14,17,20', os: ubuntu-20.04 }
77-
- { compiler: clang-11, cxxstd: '11,14,17,20', os: ubuntu-20.04 }
78-
- { compiler: clang-12, cxxstd: '11,14,17,20', os: ubuntu-20.04 }
60+
compiler: gcc-12, cxxstd: '11', os: ubuntu-22.04, install: 'g++-12-multilib', address-model: '32,64' }
61+
62+
# linux, clang
63+
- { compiler: clang-9, cxxstd: '11,14,17,2a', os: ubuntu-20.04 }
64+
- { compiler: clang-10, cxxstd: '11,14,17,20', os: ubuntu-20.04 }
65+
- { compiler: clang-11, cxxstd: '11,14,17,20', os: ubuntu-20.04 }
66+
- { compiler: clang-12, cxxstd: '11,14,17,20', os: ubuntu-20.04 }
7967
# Clang isn't compatible with libstdc++-13, so use the slightly older one
80-
- { compiler: clang-13, cxxstd: '11,14,17,20', os: ubuntu-22.04, install: 'clang-13 g++-12', gcc_toolchain: 12 }
81-
- { compiler: clang-14, cxxstd: '11,14,17,20', os: ubuntu-22.04, install: 'clang-14 g++-12', gcc_toolchain: 12 }
82-
- { compiler: clang-15, cxxstd: '11,14,17,20', os: ubuntu-22.04, install: 'clang-15 g++-12', gcc_toolchain: 12 }
68+
- { compiler: clang-13, cxxstd: '11,14,17,20', os: ubuntu-22.04, install: 'clang-13 g++-12', gcc_toolchain: 12 }
69+
- { compiler: clang-14, cxxstd: '11,14,17,20', os: ubuntu-22.04, install: 'clang-14 g++-12', gcc_toolchain: 12 }
70+
- { compiler: clang-15, cxxstd: '11,14,17,20', os: ubuntu-22.04, install: 'clang-15 g++-12', gcc_toolchain: 12 }
8371
- { compiler: clang-16, cxxstd: '11,14,17,20,2b', os: ubuntu-24.04 }
8472
# https://github.com/llvm/llvm-project/issues/59827: disabled 2b/23 for clang-17 with libstdc++13 in 24.04
85-
- { compiler: clang-17, cxxstd: '11,14,17,20', os: ubuntu-24.04 }
86-
- { compiler: clang-18, cxxstd: '11,14,17,20,23,2c', os: ubuntu-24.04 }
73+
- { compiler: clang-17, cxxstd: '11,14,17,20', os: ubuntu-24.04 }
74+
- { compiler: clang-18, cxxstd: '11,17,20,23,2c', os: ubuntu-24.04 }
8775

88-
# libc++
89-
- { compiler: clang-6.0, cxxstd: '11,14', os: ubuntu-latest, container: 'ubuntu:18.04', stdlib: libc++, install: 'clang-6.0 libc++-dev libc++abi-dev' }
90-
- { compiler: clang-7, cxxstd: '11,14,17', os: ubuntu-20.04, stdlib: libc++, install: 'clang-7 libc++-7-dev libc++abi-7-dev' }
76+
# linux, libc++
9177
- { name: Clang w/ sanitizers, sanitize: yes,
92-
compiler: clang-12, cxxstd: '11,14,17,20', os: ubuntu-20.04, stdlib: libc++, install: 'clang-12 libc++-12-dev libc++abi-12-dev' }
78+
compiler: clang-12, cxxstd: '11,14,17,20', os: ubuntu-20.04, stdlib: 'libc++', install: 'clang-12 libc++-12-dev libc++abi-12-dev' }
9379

9480
- { name: MacOS w/ clang and sanitizers,
9581
compiler: clang, cxxstd: '11,14,17,20,2b', os: macos-13, sanitize: yes }
@@ -100,20 +86,14 @@ jobs:
10086
# requires two github secrets in repo to activate; see ci/github/coverity.sh
10187
# does not run on pull requests, only on pushes into develop and master
10288
- { name: Coverity, coverity: yes,
103-
compiler: clang-12, cxxstd: '11,20', os: ubuntu-20.04, ccache: no }
89+
compiler: clang-12, cxxstd: '17', os: ubuntu-20.04, ccache: no }
10490

10591
# multiarch (bigendian testing) - does not support coverage yet
10692
- { name: Big-endian, multiarch: yes,
10793
compiler: clang, cxxstd: '17', os: ubuntu-22.04, ccache: no, distro: fedora, edition: 34, arch: s390x }
10894

109-
11095
timeout-minutes: 120
11196
runs-on: ${{matrix.os}}
112-
container:
113-
image: ${{matrix.container}}
114-
volumes:
115-
- /node20217:/node20217:rw,rshared
116-
- ${{ startsWith(matrix.container, 'ubuntu:1') && '/node20217:/__e/node20:ro,rshared' || ' ' }}
11797
env: {B2_USE_CCACHE: 1}
11898

11999
steps:
@@ -131,7 +111,7 @@ jobs:
131111
for i in {1..${NET_RETRY_COUNT:-3}}; do sudo -E add-apt-repository -y ppa:git-core/ppa && break || sleep 10; done
132112
apt-get -o Acquire::Retries=$NET_RETRY_COUNT update
133113
osver=$(lsb_release -sr | cut -f1 -d.)
134-
pkgs="g++ git"
114+
pkgs="g++ git xz-utils"
135115
# Ubuntu 22+ has only Python 3 in the repos
136116
if [ -n "$osver" ] && [ "$osver" -ge "22" ]; then
137117
pkgs+=" python-is-python3 libpython3-dev"
@@ -182,8 +162,8 @@ jobs:
182162
- name: Install packages
183163
if: startsWith(matrix.os, 'ubuntu')
184164
run: |
185-
SOURCE_KEYS=(${{join(matrix.source_keys, ' ')}})
186-
SOURCES=(${{join(matrix.sources, ' ')}})
165+
SOURCE_KEYS=("${{join(matrix.source_keys, '" "')}}")
166+
SOURCES=("${{join(matrix.sources, '" "')}}")
187167
# Add this by default
188168
SOURCE_KEYS+=('http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x1E9377A2BA9EF27F')
189169
SOURCES+=(ppa:ubuntu-toolchain-r/test)
@@ -249,21 +229,11 @@ jobs:
249229
if: '!matrix.coverity'
250230
run: ci/build.sh
251231

252-
- name: Collect coverage
232+
- name: Upload coverage
253233
if: matrix.coverage
254234
run: ci/codecov.sh "upload"
255235
env:
256-
BOOST_CI_CODECOV_IO_UPLOAD: skip
257-
258-
- name: Upload coverage
259-
if: matrix.coverage
260-
uses: codecov/codecov-action@v4
261-
with:
262-
disable_search: true
263-
file: coverage.info
264-
name: Github Actions
265-
token: ${{secrets.CODECOV_TOKEN}}
266-
verbose: true
236+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
267237

268238
- name: Run coverity
269239
if: matrix.coverity && github.event_name == 'push' && (github.ref_name == 'develop' || github.ref_name == 'master')
@@ -280,13 +250,13 @@ jobs:
280250
fail-fast: false
281251
matrix:
282252
include:
283-
- { toolset: msvc-14.0, cxxstd: '14,latest', addrmd: '32,64', os: windows-2019 }
284-
- { toolset: msvc-14.2, cxxstd: '14,17,20', addrmd: '32,64', os: windows-2019 }
285-
- { toolset: msvc-14.3, cxxstd: '14,17,20,latest', addrmd: '32,64', os: windows-2022 }
253+
- { toolset: msvc-14.0, cxxstd: '14,latest', addrmd: '32,64', os: windows-2019 }
254+
- { toolset: msvc-14.2, cxxstd: '14,17,20', addrmd: '32,64', os: windows-2019 }
255+
- { toolset: msvc-14.3, cxxstd: '14,17,20,latest',addrmd: '32,64', os: windows-2022 }
286256
- { name: Collect coverage, coverage: yes,
287-
toolset: msvc-14.3, cxxstd: 'latest', addrmd: '64', os: windows-2022 }
288-
- { toolset: clang-win, cxxstd: '14,17,latest', addrmd: '32,64', os: windows-2022 }
289-
- { toolset: gcc, cxxstd: '11,14,17,2a', addrmd: '64', os: windows-2019 }
257+
toolset: msvc-14.3, cxxstd: 'latest', addrmd: '64', os: windows-2022 }
258+
- { toolset: clang-win, cxxstd: '14,17,latest', addrmd: '32,64', os: windows-2022 }
259+
- { toolset: gcc, cxxstd: '11,14,17,2a', addrmd: '64', os: windows-2019 }
290260

291261
runs-on: ${{matrix.os}}
292262

@@ -327,11 +297,12 @@ jobs:
327297

328298
- name: Upload coverage
329299
if: matrix.coverage
330-
uses: codecov/codecov-action@v4
300+
uses: codecov/codecov-action@v5
331301
with:
332302
disable_search: true
333-
file: __out/cobertura.xml
334-
name: Github Actions
303+
fail_ci_if_error: true
304+
files: __out/cobertura.xml
305+
name: github-actions
335306
token: ${{secrets.CODECOV_TOKEN}}
336307
verbose: true
337308

@@ -458,3 +429,4 @@ jobs:
458429
cmake -G "${{matrix.generator}}" -DBOOST_CI_INSTALL_TEST=ON -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DBUILD_SHARED_LIBS=${{matrix.build_shared}} -DCMAKE_PREFIX_PATH=~/.local ..
459430
cmake --build . --config ${{matrix.build_type}} -j$B2_JOBS
460431
ctest --output-on-failure --build-config ${{matrix.build_type}}
432+

README.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
Rational, part of collection of the [Boost C++ Libraries](http://github.com/boostorg), provides an implementation of rational numbers.
1+
Rational, part of collection of the [Boost C++ Libraries](https://github.com/boostorg), provides an implementation of rational numbers.
22

33
### License
44

5-
Distributed under the [Boost Software License, Version 1.0](http://www.boost.org/LICENSE_1_0.txt).
5+
Distributed under the [Boost Software License, Version 1.0](https://www.boost.org/LICENSE_1_0.txt).
66

77
### Properties
88

@@ -11,10 +11,11 @@ Distributed under the [Boost Software License, Version 1.0](http://www.boost.org
1111

1212
### Build Status
1313

14-
Branch | GHA CI | Appveyor | Coverity Scan | codecov.io | Deps | Docs | Tests |
15-
:-------------: | ------ | -------- | ------------- | ---------- | ---- | ---- | ----- |
16-
[`master`](https://github.com/boostorg/rational/tree/master) | [![Build Status](https://github.com/boostorg/rational/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/boostorg/rational/actions?query=branch:master) | [![Build status](https://ci.appveyor.com/api/projects/status/ieim2q28u1ksc8i7?svg=true)](https://ci.appveyor.com/project/cppalliance/rational) | [![Coverity Scan Build Status](https://scan.coverity.com/projects/16002/badge.svg)](https://scan.coverity.com/projects/boostorg-rational) | [![codecov](https://codecov.io/gh/boostorg/rational/branch/master/graph/badge.svg)](https://codecov.io/gh/boostorg/rational/branch/master)| [![Deps](https://img.shields.io/badge/deps-master-brightgreen.svg)](https://pdimov.github.io/boostdep-report/master/rational.html) | [![Documentation](https://img.shields.io/badge/docs-master-brightgreen.svg)](https://www.boost.org/doc/libs/master/libs/rational) | [![Enter the Matrix](https://img.shields.io/badge/matrix-master-brightgreen.svg)](http://www.boost.org/development/tests/master/developer/rational.html)
17-
[`develop`](https://github.com/boostorg/rational/tree/develop) | [![Build Status](https://travis-ci.org/boostorg/rational.svg?branch=develop)](https://travis-ci.org/boostorg/rational) | [![Build status](https://ci.appveyor.com/api/projects/status/ieim2q28u1ksc8i7/branch/develop?svg=true)](https://ci.appveyor.com/project/cppalliance/rational/branch/develop) | [![Coverity Scan Build Status](https://scan.coverity.com/projects/16002/badge.svg)](https://scan.coverity.com/projects/boostorg-rational) | [![codecov](https://codecov.io/gh/boostorg/rational/branch/develop/graph/badge.svg)](https://codecov.io/gh/boostorg/rational/branch/develop) | [![Deps](https://img.shields.io/badge/deps-develop-brightgreen.svg)](https://pdimov.github.io/boostdep-report/develop/rational.html) | [![Documentation](https://img.shields.io/badge/docs-develop-brightgreen.svg)](https://www.boost.org/doc/libs/develop/libs/rational) | [![Enter the Matrix](https://img.shields.io/badge/matrix-develop-brightgreen.svg)](http://www.boost.org/development/tests/develop/developer/rational.html)
14+
<!-- boost-ci/tools/makebadges.sh --project rational --appveyor ieim2q28u1ksc8i7 --codecov GWRPyIttVH --coverity 16002 -->
15+
| Branch | GHA CI | Appveyor | Coverity Scan | codecov.io | Deps | Docs | Tests |
16+
| :-------------: | ------ | -------- | ------------- | ---------- | ---- | ---- | ----- |
17+
| [`master`](https://github.com/boostorg/rational/tree/master) | [![Build Status](https://github.com/boostorg/rational/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/boostorg/rational/actions?query=branch:master) | [![Build status](https://ci.appveyor.com/api/projects/status/ieim2q28u1ksc8i7/branch/master?svg=true)](https://ci.appveyor.com/project/cppalliance/rational/branch/master) | [![Coverity Scan Build Status](https://scan.coverity.com/projects/16002/badge.svg)](https://scan.coverity.com/projects/boostorg-rational) | [![codecov](https://codecov.io/gh/boostorg/rational/branch/master/graph/badge.svg?token=GWRPyIttVH)](https://codecov.io/gh/boostorg/rational/tree/master) | [![Deps](https://img.shields.io/badge/deps-master-brightgreen.svg)](https://pdimov.github.io/boostdep-report/master/rational.html) | [![Documentation](https://img.shields.io/badge/docs-master-brightgreen.svg)](https://www.boost.org/doc/libs/master/libs/rational) | [![Enter the Matrix](https://img.shields.io/badge/matrix-master-brightgreen.svg)](https://www.boost.org/development/tests/master/developer/rational.html)
18+
| [`develop`](https://github.com/boostorg/rational/tree/develop) | [![Build Status](https://github.com/boostorg/rational/actions/workflows/ci.yml/badge.svg?branch=develop)](https://github.com/boostorg/rational/actions?query=branch:develop) | [![Build status](https://ci.appveyor.com/api/projects/status/ieim2q28u1ksc8i7/branch/develop?svg=true)](https://ci.appveyor.com/project/cppalliance/rational/branch/develop) | [![Coverity Scan Build Status](https://scan.coverity.com/projects/16002/badge.svg)](https://scan.coverity.com/projects/boostorg-rational) | [![codecov](https://codecov.io/gh/boostorg/rational/branch/develop/graph/badge.svg?token=GWRPyIttVH)](https://codecov.io/gh/boostorg/rational/tree/develop) | [![Deps](https://img.shields.io/badge/deps-develop-brightgreen.svg)](https://pdimov.github.io/boostdep-report/develop/rational.html) | [![Documentation](https://img.shields.io/badge/docs-develop-brightgreen.svg)](https://www.boost.org/doc/libs/develop/libs/rational) | [![Enter the Matrix](https://img.shields.io/badge/matrix-develop-brightgreen.svg)](https://www.boost.org/development/tests/develop/developer/rational.html)
1819

1920
### Directories
2021

@@ -25,8 +26,8 @@ Branch | GHA CI | Appveyor | Coverity Scan | codecov.io | Deps | Docs |
2526

2627
### More information
2728

28-
* [Ask questions](http://stackoverflow.com/questions/ask?tags=c%2B%2B,boost,boost-rational)
29+
* [Ask questions](https://stackoverflow.com/questions/ask?tags=c%2B%2B,boost,boost-rational)
2930
* [Report bugs](https://github.com/boostorg/rational/issues): Be sure to mention Boost version, platform and compiler you're using. A small compilable code sample to reproduce the problem is always good as well.
30-
* Submit your patches as pull requests against **develop** branch. Note that by submitting patches you agree to license your modifications under the [Boost Software License, Version 1.0](http://www.boost.org/LICENSE_1_0.txt).
31-
* Discussions about the library are held on the [Boost developers mailing list](http://www.boost.org/community/groups.html#main). Be sure to read the [discussion policy](http://www.boost.org/community/policy.html) before posting and add the `[rational]` tag at the beginning of the subject line.
31+
* Submit your patches as pull requests against **develop** branch. Note that by submitting patches you agree to license your modifications under the [Boost Software License, Version 1.0](https://www.boost.org/LICENSE_1_0.txt).
32+
* Discussions about the library are held on the [Boost developers mailing list](https://www.boost.org/community/groups.html#main). Be sure to read the [discussion policy](https://www.boost.org/community/policy.html) before posting and add the `[rational]` tag at the beginning of the subject line.
3233

0 commit comments

Comments
 (0)