diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index bd9c7b2d..ee8c8e9d 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -144,6 +144,38 @@ jobs: cxx: "g++-15", cxxver: 26, } + - { + name: "Linux g++ 16 (Debian) C++17", + os: ubuntu-24.04, + container: debian:testing, + buildtype: Release, + cxx: "g++-16", + cxxver: 17, + } + - { + name: "Linux g++ 16 (Debian) C++20", + os: ubuntu-24.04, + container: debian:testing, + buildtype: Release, + cxx: "g++-16", + cxxver: 20, + } + - { + name: "Linux g++ 16 (Debian) C++23", + os: ubuntu-24.04, + container: debian:testing, + buildtype: Release, + cxx: "g++-16", + cxxver: 23, + } + - { + name: "Linux g++ 16 (Debian) C++26", + os: ubuntu-24.04, + container: debian:testing, + buildtype: Release, + cxx: "g++-16", + cxxver: 26, + } - { name: "Linux clang-13 C++17", os: ubuntu-22.04, @@ -297,6 +329,24 @@ jobs: exe_linker_flags: -lc++, cxxver: 26, } + - { + name: "Linux clang-22 C++20", + os: ubuntu-24.04, + buildtype: Release, + cxx: "clang++-22", + cxx_flags: -stdlib=libc++, + exe_linker_flags: -lc++, + cxxver: 20, + } + - { + name: "Linux clang-22 C++23", + os: ubuntu-24.04, + buildtype: Release, + cxx: "clang++-22", + cxx_flags: -stdlib=libc++, + exe_linker_flags: -lc++, + cxxver: 23, + } - { name: "Linux clang-22 C++26", os: ubuntu-24.04, @@ -597,6 +647,14 @@ jobs: DEBIAN_FRONTEND=noninteractive apt-get install -y \ g++-15 cmake ninja-build build-essential pkg-config + - name: Install GCC 16 and tools (Debian container) + if: matrix.config.container == 'debian:testing' && matrix.config.cxx == 'g++-16' + shell: bash + run: | + apt-get update + DEBIAN_FRONTEND=noninteractive apt-get install -y \ + g++-16 cmake ninja-build build-essential pkg-config + - name: Install MSVC 2017 id: install_msvc_2017 if: startsWith(matrix.config.os, 'windows-') && ( matrix.config.cxx == 'cl' ) && ( matrix.config.msvcver == 2017 ) diff --git a/README.md b/README.md index bba561d2..ed9ac443 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ library. The differences to the original cppcoro are: * CMake as build system instead of cake. * CI in Github actions instead of appveyor -andreasbuhr/cppcoro is currently tested with g++-10.2, g++-11.1, g++-12, g++-13, g++-14, g++-15, clang-13, clang-14, clang-15, clang-16, clang-17, clang-18, clang-19, clang-20, clang-21, clang-22, MSVC-2017, MSVC-2019, MSVC-2022, and MSVC-2026. +andreasbuhr/cppcoro is currently tested with g++-10.2, g++-11.1, g++-12, g++-13, g++-14, g++-15, g++-16, clang-13, clang-14, clang-15, clang-16, clang-17, clang-18, clang-19, clang-20, clang-21, clang-22, MSVC-2017, MSVC-2019, MSVC-2022, and MSVC-2026. Current build status for master branch: [![Actions Status](https://github.com/andreasbuhr/cppcoro/workflows/CMake/badge.svg)](https://github.com/andreasbuhr/cppcoro/actions). Most of the changes are offered upstream: