mirror of
https://github.com/boostorg/dynamic_bitset.git
synced 2026-01-19 04:12:09 +00:00
Update CI to 2024.12 spec, update README
This commit is contained in:
71
.github/workflows/ci.yml
vendored
71
.github/workflows/ci.yml
vendored
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user