Compare commits

...
Author SHA1 Message Date
Andrey Semashev b2732300e8 Updated GitHub Actions CI config.
Added new gcc and clang versions, replaced ubuntu-22.04 image
usage with containers as the image will soon be deprecated.
2026-08-14 00:12:01 +03:00
+68 -46
View File
@@ -1,4 +1,4 @@
# Copyright 2021-2025 Andrey Semashev
# Copyright 2021-2026 Andrey Semashev
#
# 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)
@@ -71,12 +71,14 @@ jobs:
- g++-10
- toolset: gcc-11
cxxstd: "11,14,17,20,23"
os: ubuntu-22.04
os: ubuntu-latest
container: ubuntu:22.04
install:
- g++-11
- toolset: gcc-12
cxxstd: "11,14,17,20,23"
os: ubuntu-22.04
os: ubuntu-latest
container: ubuntu:22.04
install:
- g++-12
- toolset: gcc-13
@@ -91,18 +93,22 @@ jobs:
- g++-14
- toolset: gcc-15
cxxstd: "11,14,17,20,23,26"
os: ubuntu-latest
container: ubuntu:25.04
os: ubuntu-26.04
install:
- g++-15
- toolset: gcc-16
cxxstd: "11,14,17,20,23,26"
os: ubuntu-26.04
install:
- g++-16
- name: UBSAN
toolset: gcc-13
cxxstd: "11,14,17,20,23"
toolset: gcc-15
cxxstd: "11,14,17,20,23,26"
ubsan: 1
build_variant: debug
os: ubuntu-24.04
os: ubuntu-26.04
install:
- g++-13
- g++-15
# Linux, clang
- toolset: clang
@@ -195,7 +201,8 @@ jobs:
- toolset: clang
compiler: clang++-11
cxxstd: "11,14,17,20"
os: ubuntu-22.04
os: ubuntu-latest
container: ubuntu:22.04
install:
- clang-11
- g++-11
@@ -203,7 +210,8 @@ jobs:
- toolset: clang
compiler: clang++-12
cxxstd: "11,14,17,20,2b"
os: ubuntu-22.04
os: ubuntu-latest
container: ubuntu:22.04
install:
- clang-12
- g++-11
@@ -211,7 +219,8 @@ jobs:
- toolset: clang
compiler: clang++-13
cxxstd: "11,14,17,20,2b"
os: ubuntu-22.04
os: ubuntu-latest
container: ubuntu:22.04
install:
- clang-13
- g++-11
@@ -219,7 +228,8 @@ jobs:
- toolset: clang
compiler: clang++-14
cxxstd: "11,14,17,20,2b"
os: ubuntu-22.04
os: ubuntu-latest
container: ubuntu:22.04
install:
- clang-14
- g++-11
@@ -227,7 +237,8 @@ jobs:
- toolset: clang
compiler: clang++-15
cxxstd: "11,14,17,20,2b"
os: ubuntu-22.04
os: ubuntu-latest
container: ubuntu:22.04
install:
- clang-15
- g++-11
@@ -264,41 +275,54 @@ jobs:
- toolset: clang
compiler: clang++-20
cxxstd: "11,14,17,20,23,26"
os: ubuntu-latest
container: ubuntu:25.04
os: ubuntu-26.04
install:
- clang-20
- toolset: clang
compiler: clang++-20
compiler: clang++-21
cxxstd: "11,14,17,20,23,26"
os: ubuntu-latest
container: ubuntu:25.04
os: ubuntu-26.04
install:
- clang-20
- libc++-20-dev
- libc++abi-20-dev
- clang-21
- toolset: clang
compiler: clang++-22
cxxstd: "11,14,17,20,23,26"
os: ubuntu-26.04
install:
- clang-22
- toolset: clang
compiler: clang++-22
cxxstd: "11,14,17,20,23,26"
os: ubuntu-26.04
install:
- clang-22
- libc++-22-dev
- libc++abi-22-dev
cxxflags: -stdlib=libc++
linkflags: -stdlib=libc++
- name: UBSAN
toolset: clang
compiler: clang++-18
compiler: clang++-22
cxxstd: "11,14,17,20,23,26"
cxxflags: -stdlib=libc++
linkflags: "-stdlib=libc++ -lubsan"
ubsan: 1
build_variant: debug
os: ubuntu-24.04
os: ubuntu-26.04
install:
- clang-18
- libc++-18-dev
- libc++abi-18-dev
- clang-22
- libc++-22-dev
- libc++abi-22-dev
- toolset: clang
cxxstd: "11,14,17,20,2b"
os: macos-14
cxxstd: "11,14,17,20,2b"
- toolset: clang
cxxstd: "11,14,17,20,23"
os: macos-15
cxxstd: "11,14,17,20,23,26"
- toolset: clang
os: macos-26
cxxstd: "11,14,17,20,23,26"
- name: CMake tests
cmake_tests: 1
@@ -434,6 +458,7 @@ jobs:
BUILD_JOBS=$((nproc || sysctl -n hw.ncpu) 2> /dev/null)
echo "BUILD_JOBS=$BUILD_JOBS" >> $GITHUB_ENV
echo "CMAKE_BUILD_PARALLEL_LEVEL=$BUILD_JOBS" >> $GITHUB_ENV
echo BUILD_JOBS: $BUILD_JOBS
DEPINST_ARGS=()
GIT_VERSION="$(git --version | sed -e 's/git version //')"
GIT_HAS_JOBS=1
@@ -485,25 +510,22 @@ jobs:
git submodule update --init tools/boostdep
DEPINST_ARGS+=("$LIBRARY")
python tools/boostdep/depinst/depinst.py "${DEPINST_ARGS[@]}"
if [ -z "${{matrix.cmake_tests}}" ]
then
./bootstrap.sh
./b2 headers
if [ -n "${{matrix.compiler}}" -o -n "$GCC_TOOLCHAIN_ROOT" ]
then
echo -n "using ${{matrix.toolset}} : : ${{matrix.compiler}}" > ~/user-config.jam
if [ -n "$GCC_TOOLCHAIN_ROOT" ]
then
echo -n " : <compileflags>\"--gcc-toolchain=$GCC_TOOLCHAIN_ROOT\" <linkflags>\"--gcc-toolchain=$GCC_TOOLCHAIN_ROOT\"" >> ~/user-config.jam
fi
echo " ;" >> ~/user-config.jam
fi
fi
- name: Run tests
if: matrix.cmake_tests == ''
run: |
cd boost-root
./bootstrap.sh
./b2 headers
if [ -n "${{matrix.compiler}}" -o -n "$GCC_TOOLCHAIN_ROOT" ]
then
echo -n "using ${{matrix.toolset}} : : ${{matrix.compiler}}" > ~/user-config.jam
if [ -n "$GCC_TOOLCHAIN_ROOT" ]
then
echo -n " : <compileflags>\"--gcc-toolchain=$GCC_TOOLCHAIN_ROOT\" <linkflags>\"--gcc-toolchain=$GCC_TOOLCHAIN_ROOT\"" >> ~/user-config.jam
fi
echo " ;" >> ~/user-config.jam
fi
B2_ARGS=("-j" "$BUILD_JOBS" "toolset=${{matrix.toolset}}" "cxxstd=${{matrix.cxxstd}}")
if [ -n "${{matrix.build_variant}}" ]
then
@@ -518,7 +540,7 @@ jobs:
if [ -n "${{matrix.ubsan}}" ]
then
export UBSAN_OPTIONS="print_stacktrace=1"
B2_ARGS+=("cxxflags=-fsanitize=undefined -fno-sanitize-recover=undefined" "linkflags=-fsanitize=undefined -fuse-ld=gold" "define=UBSAN=1" "debug-symbols=on" "visibility=global")
B2_ARGS+=("cxxflags=-fsanitize=undefined -fno-sanitize-recover=undefined" "linkflags=-fsanitize=undefined" "define=UBSAN=1" "debug-symbols=on" "visibility=global")
fi
if [ -n "${{matrix.cxxflags}}" ]
then
@@ -605,12 +627,12 @@ jobs:
rmdir /s /q "..\snapshot"
git submodule update --init tools/boostdep
python tools/boostdep/depinst/depinst.py --git_args "--jobs %GIT_FETCH_JOBS%" %LIBRARY%
cmd /c bootstrap
b2 -d0 headers
- name: Run tests
run: |
cd boost-root
cmd /c bootstrap
b2 -d0 headers
if not "${{matrix.cxxstd}}" == "" set CXXSTD=cxxstd=${{matrix.cxxstd}}
if not "${{matrix.addrmd}}" == "" set ADDRMD=address-model=${{matrix.addrmd}}
if not "${{matrix.build_variant}}" == "" (set BUILD_VARIANT=variant=${{matrix.build_variant}}) else (set BUILD_VARIANT=variant=%DEFAULT_BUILD_VARIANT%)