diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index e350afd..8942186 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -36,43 +36,25 @@ jobs: c: gcc - cpp: clang++ c: clang + cpp_version: ["17", "20", "23", "26"] cmake_args: - - description: "Static default" + - description: "Default" args: "" - - description: "Dynamic default" - args: "-DBUILD_SHARED_LIBS=on" - - description: "static C++17" - args: "-DCMAKE_CXX_STANDARD=17" - - description: "static C++20" - args: "-DCMAKE_CXX_STANDARD=20" - - description: "static C++23" - args: "-DCMAKE_CXX_STANDARD=23" - - description: "static C++26" - args: "-DCMAKE_CXX_STANDARD=26" + - description: "TSan" + args: "-DCMAKE_CXX_FLAGS=-fsanitize=thread" + - description: "ASan" + args: "-DCMAKE_CXX_FLAGS=-fsanitize=address -fsanitize=undefined" include: - platform: ubuntu-latest compiler: cpp: g++ c: gcc + cpp_version: "17" cmake_args: description: "Werror" cmake_args: "-DCMAKE_CXX_FLAGS='-Werror=all -Werror=extra'" - - platform: ubuntu-latest - compiler: - cpp: g++ - c: gcc - cmake_args: - description: "A-San" - cmake_args: "-DCMAKE_CXX_FLAGS=-fsanitize=address -fsanitize=undefined" - - platform: ubuntu-latest - compiler: - cpp: g++ - c: gcc - cmake_args: - description: "T-San" - cmake_args: "-DCMAKE_CXX_FLAGS=-fsanitize=thread" - name: "Bulid & Test: ${{ matrix.compiler.c }} ${{ matrix.cmake_args.description }}" + name: "Bulid & Test: ${{ matrix.compiler.c }} ${{ matrix.cpp_version }} ${{ matrix.cmake_args.description }}" runs-on: ${{ matrix.platform }} steps: - uses: actions/checkout@v4 @@ -89,7 +71,7 @@ jobs: ninja --version - name: Build Release run: | - cmake -B build -S . "${{ matrix.cmake_args.args }}" + cmake -B build -S . "-DCMAKE_CXX_STANDARD=${{ matrix.cpp_version }} ${{ matrix.cmake_args.args }}" cmake --build build --config Release --verbose cmake --build build --config Release --target all_verify_interface_header_sets cmake --install build --config Release --prefix /opt/beman.exemplar