diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d3768e1..76da795 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,7 @@ jobs: strategy: fail-fast: false matrix: - name: [Ubuntu-18, Ubuntu-20, Ubuntu-22, Debian-9, Debian-10, Debian-11, Debian-Testing, Debian-Experimental, Fedora-35, Fedora-36] + name: [Ubuntu-18, Ubuntu-20, Ubuntu-22, Debian-10, Debian-11, Debian-12, Debian-Testing, Debian-Experimental, Fedora-35, Fedora-36, Fedora-37, Fedora-38] build_type: [Dev] cpp_compiler: [g++] cpp_version: [c++11] @@ -22,11 +22,10 @@ jobs: image: "ubuntu:20.04" ubuntu: 20 - name: Ubuntu-22 + # Uses gcc 12.2.0, clang 15.0.7, cmake 3.24.2 image: "ubuntu:22.04" ubuntu: 22 - - name: Debian-9 - # Uses gcc 6.3.0, clang 3.8.1, cmake 3.7.2 - image: "debian:stretch" + CXXFLAGS: -Wno-stringop-overread - name: Debian-10 # Uses gcc 8.3.0, clang 7.0.1, cmake 3.13.4 image: "debian:buster" @@ -34,59 +33,84 @@ jobs: # Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4 image: "debian:bullseye" - name: Debian-11 - # Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4 image: "debian:bullseye" cpp_version: c++17 - name: Debian-11 - # Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4 image: "debian:bullseye" cpp_version: c++20 - name: Debian-11 - # Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4 + image: "debian:bullseye" + c_compiler: clang + cpp_compiler: clang++ + - name: Debian-11 image: "debian:bullseye" c_compiler: clang cpp_compiler: clang++ cpp_version: c++17 - name: Debian-11 - # Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4 image: "debian:bullseye" c_compiler: clang cpp_compiler: clang++ cpp_version: c++20 - name: Debian-11 - # Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4 image: "debian:bullseye" build_type: RelWithDebInfo - name: Debian-11 - # Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4 image: "debian:bullseye" c_compiler: clang cpp_compiler: clang++ - - name: Debian-11 - # Uses gcc 10.2.1, clang 11.0.1, cmake 3.18.4 - image: "debian:bullseye" + CXXFLAGS: -fsanitize=address,undefined,integer -fno-sanitize-recover=all -fno-omit-frame-pointer + LDFLAGS: -fsanitize=address,undefined,integer + - name: Debian-12 + # Uses gcc 12.2.0, clang 15.0.6, cmake 3.25.1 + image: "debian:bookworm" + CXXFLAGS: -Wno-stringop-overread + - name: Debian-12 + image: "debian:bookworm" + cpp_version: c++17 + CXXFLAGS: -Wno-stringop-overread + - name: Debian-12 + image: "debian:bookworm" + cpp_version: c++20 + CXXFLAGS: -Wno-stringop-overread + - name: Debian-12 + image: "debian:bookworm" + c_compiler: clang + cpp_compiler: clang++ + - name: Debian-12 + image: "debian:bookworm" + c_compiler: clang + cpp_compiler: clang++ + cpp_version: c++17 + - name: Debian-12 + image: "debian:bookworm" + c_compiler: clang + cpp_compiler: clang++ + cpp_version: c++20 + - name: Debian-12 + image: "debian:bookworm" + build_type: RelWithDebInfo + CXXFLAGS: -Wno-stringop-overread + - name: Debian-12 + image: "debian:bookworm" c_compiler: clang cpp_compiler: clang++ CXXFLAGS: -fsanitize=address,undefined,integer -fno-sanitize-recover=all -fno-omit-frame-pointer LDFLAGS: -fsanitize=address,undefined,integer - name: Debian-Testing - # Uses gcc 10.3.0, clang 11.1.0, cmake 3.21.3 image: "debian:testing" CXXFLAGS: -Wno-stringop-overread - name: Debian-Testing - # Uses gcc 10.3.0, clang 11.1.0, cmake 3.21.3 image: "debian:testing" c_compiler: clang cpp_compiler: clang++ - name: Debian-Experimental - # Uses gcc 11, clang 14, cmake 3.21.3 image: "debian:experimental" CXXFLAGS: -Wno-stringop-overread - name: Debian-Experimental - # Uses gcc 11, clang 14, cmake 3.21.3 image: "debian:experimental" - c_compiler: clang-14 - cpp_compiler: clang++-14 + c_compiler: clang + cpp_compiler: clang++ - name: Fedora-35 # Uses gcc 11.2.1, clang 12.0.1, cmake 3.20.5 image: "fedora:35" @@ -95,6 +119,14 @@ jobs: # Uses gcc 12.2.0, clang 14.0.5, cmake 3.24.2 image: "fedora:36" CXXFLAGS: -Wno-stringop-overread + - name: Fedora-37 + # Uses gcc 12.3.1, clang 15.0.7, cmake 3.26.4 + image: "fedora:37" + CXXFLAGS: -Wno-stringop-overread + - name: Fedora-38 + # Uses gcc 13.0.1, clang 16.0.5, cmake 3.26.4 + image: "fedora:38" + CXXFLAGS: -Wno-stringop-overread container: image: ${{ matrix.image }} env: @@ -182,9 +214,11 @@ jobs: matrix: os: - "macos-11" + - "macos-12" + - "macos-13" build_type: [Dev] include: - - os: "macos-11" + - os: "macos-12" build_type: Release runs-on: ${{ matrix.os }} env: