From 7a66d0b6f53aaacfd7c19c61ef58f05bb676fc7c Mon Sep 17 00:00:00 2001 From: HedgehogInTheCPP Date: Sat, 22 Aug 2026 00:02:34 +0300 Subject: [PATCH] Improvements detection of features, part 13. Don't explicitly enable constexpr tests for old compilers, that not fully support consteval because it's not fully support basic C++20 constexpr. Added 2 additional modern configuration. --- .github/workflows/ubuntu-clang.yml | 25 +++++++++++++++++++++++++ .github/workflows/ubuntu.yml | 16 ++++++++++++++++ .github/workflows/ubuntu22-clang.yml | 2 +- .github/workflows/vs17-ci.yml | 2 +- .github/workflows/vs17-clang-ci.yml | 2 +- .github/workflows/vs18-clang-ci.yml | 2 +- 6 files changed, 45 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/ubuntu-clang.yml create mode 100644 .github/workflows/ubuntu.yml diff --git a/.github/workflows/ubuntu-clang.yml b/.github/workflows/ubuntu-clang.yml new file mode 100644 index 0000000..75235fd --- /dev/null +++ b/.github/workflows/ubuntu-clang.yml @@ -0,0 +1,25 @@ +name: Ubuntu latest CI (clang 22) + +on: [push, pull_request] + +jobs: + ubuntu-build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v7 + - name: Install clang++-22 + run: sudo apt-get install -y clang++-22 + - name: Use cmake + run: | + mkdir build && + cd build && + CXX=clang++-22 cmake -DFASTFLOAT_TEST=ON .. && + cmake --build . && + ctest --output-on-failure + - name: Use cmake CXX23 + run: | + mkdir build23 && + cd build23 && + CXX=clang++-22 cmake -DFASTFLOAT_CXX_STANDARD=23 -DFASTFLOAT_TEST=ON .. && + cmake --build . && + ctest --output-on-failure \ No newline at end of file diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml new file mode 100644 index 0000000..4ae9bad --- /dev/null +++ b/.github/workflows/ubuntu.yml @@ -0,0 +1,16 @@ +name: Ubuntu latest CI + +on: [push, pull_request] + +jobs: + ubuntu-build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v7 + - name: Use cmake + run: | + mkdir build && + cd build && + cmake -DFASTFLOAT_TEST=ON .. && + cmake --build . && + ctest --output-on-failure \ No newline at end of file diff --git a/.github/workflows/ubuntu22-clang.yml b/.github/workflows/ubuntu22-clang.yml index 1afe9b3..1307507 100644 --- a/.github/workflows/ubuntu22-clang.yml +++ b/.github/workflows/ubuntu22-clang.yml @@ -20,6 +20,6 @@ jobs: run: | mkdir build20 && cd build20 && - CXX=clang++-15 cmake -DFASTFLOAT_CONSTEXPR_TESTS=ON -DFASTFLOAT_CXX_STANDARD=20 -DFASTFLOAT_TEST=ON .. && + CXX=clang++-15 cmake -DFASTFLOAT_CXX_STANDARD=20 -DFASTFLOAT_TEST=ON .. && cmake --build . && ctest --output-on-failure \ No newline at end of file diff --git a/.github/workflows/vs17-ci.yml b/.github/workflows/vs17-ci.yml index 23ae2d8..b7ef7cb 100644 --- a/.github/workflows/vs17-ci.yml +++ b/.github/workflows/vs17-ci.yml @@ -19,7 +19,7 @@ jobs: uses: actions/checkout@v7 - name: configure run: | - cmake -S . -B build -G "${{matrix.gen}}" -A ${{matrix.arch}} -DFASTFLOAT_CXX_STANDARD=14 -DFASTFLOAT_BENCHMARKS=OFF -DFASTFLOAT_TEST=ON -DCMAKE_INSTALL_PREFIX:PATH=destination + cmake -S . -B build -G "${{matrix.gen}}" -A ${{matrix.arch}} -DFASTFLOAT_CXX_STANDARD=14 -DFASTFLOAT_BENCHMARKS=ON -DFASTFLOAT_TEST=ON -DCMAKE_INSTALL_PREFIX:PATH=destination - name: build run: | cmake --build build --verbose --config ${{matrix.cfg}} --parallel diff --git a/.github/workflows/vs17-clang-ci.yml b/.github/workflows/vs17-clang-ci.yml index 85338de..b7a92ca 100644 --- a/.github/workflows/vs17-clang-ci.yml +++ b/.github/workflows/vs17-clang-ci.yml @@ -19,7 +19,7 @@ jobs: uses: actions/checkout@v7 - name: Configure run: | - cmake -S . -B build -G "${{matrix.gen}}" -A ${{matrix.arch}} -DFASTFLOAT_BENCHMARKS=OFF -T ClangCL -DFASTFLOAT_TEST=ON + cmake -S . -B build -G "${{matrix.gen}}" -A ${{matrix.arch}} -DFASTFLOAT_BENCHMARKS=ON -T ClangCL -DFASTFLOAT_TEST=ON - name: Build run: cmake --build build --config ${{matrix.cfg}} --parallel --verbose - name: Run basic tests diff --git a/.github/workflows/vs18-clang-ci.yml b/.github/workflows/vs18-clang-ci.yml index 0128081..430f5e2 100644 --- a/.github/workflows/vs18-clang-ci.yml +++ b/.github/workflows/vs18-clang-ci.yml @@ -19,7 +19,7 @@ jobs: uses: actions/checkout@v7 - name: Configure run: | - cmake -S . -B build -G "${{matrix.gen}}" -A ${{matrix.arch}} -DFASTFLOAT_BENCHMARKS=OFF -T ClangCL -DFASTFLOAT_TEST=ON + cmake -S . -B build -G "${{matrix.gen}}" -A ${{matrix.arch}} -DFASTFLOAT_BENCHMARKS=ON -T ClangCL -DFASTFLOAT_TEST=ON - name: Build run: cmake --build build --config ${{matrix.cfg}} --parallel --verbose - name: Run basic tests