From d6eb91388fcdb57d0c5627dc5b3bf872d577f7ac Mon Sep 17 00:00:00 2001 From: "James E. King III" Date: Sat, 28 Dec 2024 21:18:11 +0000 Subject: [PATCH] Update CI to 2024.12 spec, update README --- .appveyor.yml | 6 ++++ .github/workflows/ci.yml | 71 +++++++++++----------------------------- README.md | 20 +++++------ 3 files changed, 36 insertions(+), 61 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index a056ca3..ffe7b58 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -33,6 +33,12 @@ branches: - /fix\/.*/ - /pr\/.*/ +skip_commits: + files: + - LICENSE + - meta/* + - README.md + matrix: fast_finish: false # Adding MAYFAIL to any matrix job allows it to fail but the build stays green: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4de5446..875762f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,6 +18,10 @@ on: - feature/** - fix/** - pr/** + paths-ignore: + - LICENSE + - meta/** + - README.md concurrency: group: ${{format('{0}:{1}', github.repository, github.ref)}} @@ -29,8 +33,7 @@ env: B2_CI_VERSION: 1 B2_VARIANT: debug,release B2_LINK: shared,static - LCOV_BRANCH_COVERAGE: 1 - CODECOV_NAME: Github Actions + LCOV_BRANCH_COVERAGE: 0 jobs: posix: @@ -66,7 +69,8 @@ jobs: - { compiler: clang-14, cxxstd: '11,14,17,20', os: ubuntu-22.04, install: 'clang-14 g++-12', gcc_toolchain: 12 } - { compiler: clang-15, cxxstd: '11,14,17,20', os: ubuntu-22.04, install: 'clang-15 g++-12', gcc_toolchain: 12 } - { compiler: clang-16, cxxstd: '11,14,17,20,2b', os: ubuntu-24.04 } - - { compiler: clang-17, cxxstd: '11,14,17,20,23', os: ubuntu-24.04 } + # https://github.com/llvm/llvm-project/issues/59827: disabled 2b/23 for clang-17 with libstdc++13 in 24.04 + - { compiler: clang-17, cxxstd: '11,14,17,20', os: ubuntu-24.04 } - { compiler: clang-18, cxxstd: '11,17,20,23,2c', os: ubuntu-24.04 } # linux, libc++ @@ -107,7 +111,7 @@ jobs: for i in {1..${NET_RETRY_COUNT:-3}}; do sudo -E add-apt-repository -y ppa:git-core/ppa && break || sleep 10; done apt-get -o Acquire::Retries=$NET_RETRY_COUNT update osver=$(lsb_release -sr | cut -f1 -d.) - pkgs="g++ git" + pkgs="g++ git xz-utils" # Ubuntu 22+ has only Python 3 in the repos if [ -n "$osver" ] && [ "$osver" -ge "22" ]; then pkgs+=" python-is-python3 libpython3-dev" @@ -121,52 +125,26 @@ jobs: echo "B2_USE_CCACHE=0" >> $GITHUB_ENV fi git config --global pack.threads 0 - if [[ "${{matrix.container}}" == "ubuntu:16.04" ]] || [[ "${{matrix.container}}" == "ubuntu:18.04" ]]; then - # Ubuntu 16/18 can't run Node 20, so stick to older actions: https://github.com/actions/checkout/issues/1590 - echo "GHA_USE_NODE_20=false" >> $GITHUB_ENV - echo "ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true" >> $GITHUB_ENV - else - echo "GHA_USE_NODE_20=true" >> $GITHUB_ENV + if [[ "${{matrix.container}}" == "ubuntu:1"* ]]; then + # Node 20 doesn't work with Ubuntu 16/18 glibc: https://github.com/actions/checkout/issues/1590 + curl -sL https://archives.boost.io/misc/node/node-v20.9.0-linux-x64-glibc-217.tar.xz | tar -xJ --strip-components 1 -C /node20217 fi - - uses: actions/checkout@v3 - if: env.GHA_USE_NODE_20 == 'false' - with: - # For coverage builds fetch the whole history, else only 1 commit using a 'fake ternary' - fetch-depth: ${{ matrix.coverage && '0' || '1' }} - uses: actions/checkout@v4 - if: env.GHA_USE_NODE_20 == 'true' with: # For coverage builds fetch the whole history, else only 1 commit using a 'fake ternary' fetch-depth: ${{ matrix.coverage && '0' || '1' }} - - name: Cache ccache - uses: actions/cache@v3 - if: env.B2_USE_CCACHE && env.GHA_USE_NODE_20 == 'false' - with: - path: ~/.ccache - key: ${{matrix.os}}-${{matrix.container}}-${{matrix.compiler}}-${{github.sha}} - restore-keys: ${{matrix.os}}-${{matrix.container}}-${{matrix.compiler}}- - - name: Cache ccache uses: actions/cache@v4 - if: env.B2_USE_CCACHE && env.GHA_USE_NODE_20 == 'true' + if: env.B2_USE_CCACHE with: path: ~/.ccache key: ${{matrix.os}}-${{matrix.container}}-${{matrix.compiler}}-${{github.sha}} restore-keys: ${{matrix.os}}-${{matrix.container}}-${{matrix.compiler}}- - - name: Fetch Boost.CI - uses: actions/checkout@v3 - if: env.GHA_USE_NODE_20 == 'false' - with: - repository: boostorg/boost-ci - ref: master - path: boost-ci-cloned - - name: Fetch Boost.CI uses: actions/checkout@v4 - if: env.GHA_USE_NODE_20 == 'true' with: repository: boostorg/boost-ci ref: master @@ -181,8 +159,8 @@ jobs: - name: Install packages if: startsWith(matrix.os, 'ubuntu') run: | - SOURCE_KEYS=(${{join(matrix.source_keys, ' ')}}) - SOURCES=(${{join(matrix.sources, ' ')}}) + SOURCE_KEYS=("${{join(matrix.source_keys, '" "')}}") + SOURCES=("${{join(matrix.sources, '" "')}}") # Add this by default SOURCE_KEYS+=('http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x1E9377A2BA9EF27F') SOURCES+=(ppa:ubuntu-toolchain-r/test) @@ -248,21 +226,11 @@ jobs: if: '!matrix.coverity' run: ci/build.sh - - name: Collect coverage + - name: Upload coverage if: matrix.coverage run: ci/codecov.sh "upload" env: - BOOST_CI_CODECOV_IO_UPLOAD: skip - - - name: Upload coverage - if: matrix.coverage - uses: codecov/codecov-action@v4 - with: - disable_search: true - file: coverage.info - name: Github Actions - token: ${{secrets.CODECOV_TOKEN}} - verbose: true + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - name: Run coverity if: matrix.coverity && github.event_name == 'push' && (github.ref_name == 'develop' || github.ref_name == 'master') @@ -326,11 +294,12 @@ jobs: - name: Upload coverage if: matrix.coverage - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v5 with: disable_search: true - file: __out/cobertura.xml - name: Github Actions + fail_ci_if_error: true + files: __out/cobertura.xml + name: github-actions token: ${{secrets.CODECOV_TOKEN}} verbose: true diff --git a/README.md b/README.md index c952952..20732a4 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -DynamicBitset, part of collection of the [Boost C++ Libraries](http://github.com/boostorg), is similar to std::bitset however the size is specified at run-time instead of at compile-time. +DynamicBitset, part of collection of the [Boost C++ Libraries](https://github.com/boostorg), is similar to std::bitset however the size is specified at run-time instead of at compile-time. ### License -Distributed under the [Boost Software License, Version 1.0](http://www.boost.org/LICENSE_1_0.txt). +Distributed under the [Boost Software License, Version 1.0](https://www.boost.org/LICENSE_1_0.txt). ### Properties @@ -11,10 +11,11 @@ Distributed under the [Boost Software License, Version 1.0](http://www.boost.org ### Build Status -Branch | GHA CI | Appveyor | Coverity Scan | codecov.io | Deps | Docs | Tests | -:-------------: | ------ | -------- | ------------- | ---------- | ---- | ---- | ----- | -[`master`](https://github.com/boostorg/dynamic_bitset/tree/master) | [![Build Status](https://github.com/boostorg/dynamic_bitset/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/boostorg/dynamic_bitset/actions?query=branch:master) | [![Build status](https://ci.appveyor.com/api/projects/status/n7bki5ka3v918r5r?svg=true)](https://ci.appveyor.com/project/cppalliance/dynamic-bitset) | [![Coverity Scan Build Status](https://scan.coverity.com/projects/16167/badge.svg)](https://scan.coverity.com/projects/boostorg-dynamic_bitset) | [![codecov](https://codecov.io/gh/boostorg/dynamic_bitset/branch/master/graph/badge.svg)](https://codecov.io/gh/boostorg/dynamic_bitset/branch/master)| [![Deps](https://img.shields.io/badge/deps-master-brightgreen.svg)](https://pdimov.github.io/boostdep-report/master/dynamic_bitset.html) | [![Documentation](https://img.shields.io/badge/docs-master-brightgreen.svg)](https://www.boost.org/doc/libs/master/libs/dynamic_bitset/dynamic_bitset.html) | [![Enter the Matrix](https://img.shields.io/badge/matrix-master-brightgreen.svg)](http://www.boost.org/development/tests/master/developer/dynamic_bitset.html) -[`develop`](https://github.com/boostorg/dynamic_bitset/tree/develop) | [![Build Status](https://github.com/boostorg/dynamic_bitset/actions/workflows/ci.yml/badge.svg?branch=develop)](https://github.com/boostorg/dynamic_bitset/actions?query=branch:develop) | [![Build status](https://ci.appveyor.com/api/projects/status/n7bki5ka3v918r5r/branch/develop?svg=true)](https://ci.appveyor.com/project/cppalliance/dynamic-bitset/branch/develop) | [![Coverity Scan Build Status](https://scan.coverity.com/projects/16167/badge.svg)](https://scan.coverity.com/projects/boostorg-dynamic_bitset) | [![codecov](https://codecov.io/gh/boostorg/dynamic_bitset/branch/develop/graph/badge.svg)](https://codecov.io/gh/boostorg/dynamic_bitset/branch/develop) | [![Deps](https://img.shields.io/badge/deps-develop-brightgreen.svg)](https://pdimov.github.io/boostdep-report/develop/dynamic_bitset.html) | [![Documentation](https://img.shields.io/badge/docs-develop-brightgreen.svg)](https://www.boost.org/doc/libs/develop/libs/dynamic_bitset/dynamic_bitset.html) | [![Enter the Matrix](https://img.shields.io/badge/matrix-develop-brightgreen.svg)](http://www.boost.org/development/tests/develop/developer/dynamic_bitset.html) + +| Branch | GHA CI | Appveyor | Coverity Scan | codecov.io | Deps | Docs | Tests | +| :-------------: | ------ | -------- | ------------- | ---------- | ---- | ---- | ----- | +| [`master`](https://github.com/boostorg/dynamic_bitset/tree/master) | [![Build Status](https://github.com/boostorg/dynamic_bitset/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/boostorg/dynamic_bitset/actions?query=branch:master) | [![Build status](https://ci.appveyor.com/api/projects/status/n7bki5ka3v918r5r/branch/master?svg=true)](https://ci.appveyor.com/project/cppalliance/dynamic-bitset/branch/master) | [![Coverity Scan Build Status](https://scan.coverity.com/projects/16167/badge.svg)](https://scan.coverity.com/projects/boostorg-dynamic_bitset) | [![codecov](https://codecov.io/gh/boostorg/dynamic_bitset/branch/master/graph/badge.svg?token=PVG5jth1ez)](https://codecov.io/gh/boostorg/dynamic_bitset/tree/master) | [![Deps](https://img.shields.io/badge/deps-master-brightgreen.svg)](https://pdimov.github.io/boostdep-report/master/dynamic_bitset.html) | [![Documentation](https://img.shields.io/badge/docs-master-brightgreen.svg)](https://www.boost.org/doc/libs/master/libs/dynamic_bitset) | [![Enter the Matrix](https://img.shields.io/badge/matrix-master-brightgreen.svg)](https://www.boost.org/development/tests/master/developer/dynamic_bitset.html) +| [`develop`](https://github.com/boostorg/dynamic_bitset/tree/develop) | [![Build Status](https://github.com/boostorg/dynamic_bitset/actions/workflows/ci.yml/badge.svg?branch=develop)](https://github.com/boostorg/dynamic_bitset/actions?query=branch:develop) | [![Build status](https://ci.appveyor.com/api/projects/status/n7bki5ka3v918r5r/branch/develop?svg=true)](https://ci.appveyor.com/project/cppalliance/dynamic-bitset/branch/develop) | [![Coverity Scan Build Status](https://scan.coverity.com/projects/16167/badge.svg)](https://scan.coverity.com/projects/boostorg-dynamic_bitset) | [![codecov](https://codecov.io/gh/boostorg/dynamic_bitset/branch/develop/graph/badge.svg?token=PVG5jth1ez)](https://codecov.io/gh/boostorg/dynamic_bitset/tree/develop) | [![Deps](https://img.shields.io/badge/deps-develop-brightgreen.svg)](https://pdimov.github.io/boostdep-report/develop/dynamic_bitset.html) | [![Documentation](https://img.shields.io/badge/docs-develop-brightgreen.svg)](https://www.boost.org/doc/libs/develop/libs/dynamic_bitset) | [![Enter the Matrix](https://img.shields.io/badge/matrix-develop-brightgreen.svg)](https://www.boost.org/development/tests/develop/developer/dynamic_bitset.html) ### Directories @@ -27,8 +28,7 @@ Branch | GHA CI | Appveyor | Coverity Scan | codecov.io | Deps | Docs | ### More information -* [Ask questions](http://stackoverflow.com/questions/ask?tags=c%2B%2B,boost,boost-dynamic_bitset) +* [Ask questions](https://stackoverflow.com/questions/ask?tags=c%2B%2B,boost,boost-dynamic_bitset) * [Report bugs](https://github.com/boostorg/dynamic_bitset/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. -* 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). -* 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 `[dynamic_bitset]` tag at the beginning of the subject line. - +* 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). +* 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 `[dynamic_bitset]` tag at the beginning of the subject line.