From a6f39d3806ac0f205ecf786dce5f8ac5a2ca3a7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20K=C3=A4fer?= Date: Thu, 8 Oct 2026 14:39:00 +0200 Subject: [PATCH] Fix CI after Debian image changes Drop debian:bullseye, whose LTS ended on 2026-08-31 and whose packages are gone from the main mirrors. ubuntu:20.04 still covers the oldest compilers. Run the s390x big-endian job on debian:trixie, because debian:bookworm has no s390x image. Update the clang-tidy job for the clang versions that debian:testing (22) and debian:experimental (24) now ship: - Install g++ so clang finds a matching libstdc++. - Let CMake find clang-tidy-21 through clang-tidy-24. - Pass -Wno-c2y-extensions, since clang 22 rejects Catch's __COUNTER__ under -Werror. --- .github/workflows/ci.yml | 10 +--------- .github/workflows/clang-tidy.yml | 7 ++++--- CMakeLists.txt | 2 +- 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6274ebc1..879ef4aa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,6 @@ jobs: - "ubuntu:20.04" # gcc 9.3.0, clang 10.0.0, cmake 3.16.3 - "ubuntu:22.04" # gcc 12.2.0, clang 15.0.7, cmake 3.24.2 - "ubuntu:24.04" # gcc 14.2.0, clang 18.1.3, cmake 3.28.3 - - "debian:bullseye" # gcc 10.2.1, clang 11.0.1, cmake 3.18.4 - "debian:bookworm" # gcc 12.2.0, clang 15.0.6, cmake 3.25.1 - "debian:trixie" - "debian:testing" @@ -43,13 +42,6 @@ jobs: c_compiler: clang cpp_compiler: clang++ cpp_version: 20 -# Disabled because it fails due to a bug in the protobuf library -# See https://github.com/protocolbuffers/protobuf/issues/7224 -# - image: "debian:bullseye" -# c_compiler: clang -# cpp_compiler: clang++ -# CXXFLAGS: "-fsanitize=address,undefined,integer -fno-sanitize-recover=all -fno-omit-frame-pointer" -# LDFLAGS: "-fsanitize=address,undefined,integer" - image: "debian:bookworm" build_type: Release - image: "debian:bookworm" @@ -127,7 +119,7 @@ jobs: -v "${{ github.workspace }}:/src" \ -w /src \ -e DEBIAN_FRONTEND=noninteractive \ - debian:bookworm \ + debian:trixie \ bash -exc ' apt-get update -qq apt-get install -y \ diff --git a/.github/workflows/clang-tidy.yml b/.github/workflows/clang-tidy.yml index bb061d0e..44eac80e 100644 --- a/.github/workflows/clang-tidy.yml +++ b/.github/workflows/clang-tidy.yml @@ -16,16 +16,16 @@ jobs: - image: "debian:trixie" clang: 19 - image: "debian:testing" - clang: 19 + clang: 22 - image: "debian:experimental" - clang: 20 + clang: 24 container: image: ${{ matrix.image }} env: BUILD_TYPE: Debug CC: clang-${{ matrix.clang }} CXX: clang++-${{ matrix.clang }} - CXXFLAGS: -Wno-c++20-extensions + CXXFLAGS: -Wno-c++20-extensions -Wno-c2y-extensions CPP_VERSION: 14 APT_LISTCHANGES_FRONTEND: none DEBIAN_FRONTEND: noninteractive @@ -37,6 +37,7 @@ jobs: clang-${{ matrix.clang }} \ clang-tidy-${{ matrix.clang }} \ cmake \ + g++ \ libprotobuf-dev \ make \ protobuf-compiler diff --git a/CMakeLists.txt b/CMakeLists.txt index 258fa315..9feba9c8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -74,7 +74,7 @@ endif() # #----------------------------------------------------------------------------- message(STATUS "Looking for clang-tidy") -find_program(CLANG_TIDY NAMES clang-tidy clang-tidy-20 clang-tidy-19 clang-tidy-18 clang-tidy-17 clang-tidy-16 clang-tidy-15) +find_program(CLANG_TIDY NAMES clang-tidy clang-tidy-24 clang-tidy-23 clang-tidy-22 clang-tidy-21 clang-tidy-20 clang-tidy-19 clang-tidy-18 clang-tidy-17 clang-tidy-16 clang-tidy-15) if(CLANG_TIDY AND PROTOBUF_FOUND) message(STATUS "Looking for clang-tidy - found ${CLANG_TIDY}")