From 2effdbf8886e99244d51562c46d9f880d354f7af Mon Sep 17 00:00:00 2001 From: IRainman Date: Wed, 8 Apr 2026 04:32:23 +0300 Subject: [PATCH] Add VS18 workflows --- .github/workflows/vs18-arm-ci.yml | 28 +++++++++++++++++++ .github/workflows/vs18-ci.yml | 43 +++++++++++++++++++++++++++++ .github/workflows/vs18-clang-ci.yml | 28 +++++++++++++++++++ .github/workflows/vs18-cxx23.yml | 33 ++++++++++++++++++++++ 4 files changed, 132 insertions(+) create mode 100644 .github/workflows/vs18-arm-ci.yml create mode 100644 .github/workflows/vs18-ci.yml create mode 100644 .github/workflows/vs18-clang-ci.yml create mode 100644 .github/workflows/vs18-cxx23.yml diff --git a/.github/workflows/vs18-arm-ci.yml b/.github/workflows/vs18-arm-ci.yml new file mode 100644 index 0000000..6370288 --- /dev/null +++ b/.github/workflows/vs18-arm-ci.yml @@ -0,0 +1,28 @@ +name: VS18-ARM-CI + +on: [push, pull_request] + +jobs: + ci: + name: vs18/${{matrix.arch}}/${{matrix.cfg}} + runs-on: windows-latest + strategy: + fail-fast: false + matrix: + include: + - {gen: Visual Studio 18 2026, arch: ARM64, cfg: Release} + - {gen: Visual Studio 18 2026, arch: ARM64, cfg: Debug} + steps: + - name: checkout + uses: actions/checkout@v6 + - name: configure + run: | + cmake -S . -B build -G "${{matrix.gen}}" -A ${{matrix.arch}} -DCMAKE_CROSSCOMPILING=1 -DFASTFLOAT_TEST=ON + - name: build + run: | + cmake --build build --verbose --config ${{matrix.cfg}} --parallel + # disabled because it requires a toolchain + #- name: test + # run: | + # cd build && + # ctest --output-on-failure -C ${{matrix.cfg}} diff --git a/.github/workflows/vs18-ci.yml b/.github/workflows/vs18-ci.yml new file mode 100644 index 0000000..017d0c6 --- /dev/null +++ b/.github/workflows/vs18-ci.yml @@ -0,0 +1,43 @@ +name: VS18-CI + +on: [push, pull_request] + +jobs: + ci: + name: vs18/${{matrix.arch}}/${{matrix.cfg}} + runs-on: windows-latest + strategy: + fail-fast: false + matrix: + include: + - {gen: Visual Studio 18 2026, arch: Win32, cfg: Release} + - {gen: Visual Studio 18 2026, arch: Win32, cfg: Debug} + - {gen: Visual Studio 18 2026, arch: x64, cfg: Release} + - {gen: Visual Studio 18 2026, arch: x64, cfg: Debug} + steps: + - name: checkout + uses: actions/checkout@v6 + - name: configure + run: | + cmake -S . -B build -G "${{matrix.gen}}" -A ${{matrix.arch}} -DFASTFLOAT_BENCHMARKS=ON -DFASTFLOAT_TEST=ON -DCMAKE_INSTALL_PREFIX:PATH=destination + - name: build + run: | + cmake --build build --verbose --config ${{matrix.cfg}} --parallel + - name: test + run: | + cd build && + ctest --output-on-failure -C ${{matrix.cfg}} + - name: install + run: | + cd build && + cmake --install . + - name: test install (find) + run: | + cd tests/installation_tests/find && + cmake -S . -B build -G "${{matrix.gen}}" -A ${{matrix.arch}} -DCMAKE_INSTALL_PREFIX:PATH=../../../build/destination && + cmake --build build --verbose --config ${{matrix.cfg}} --parallel + - name: test install (issue 72) + run: | + cd tests/installation_tests/issue72_installation && + cmake -S . -B build -G "${{matrix.gen}}" -A ${{matrix.arch}} -DCMAKE_INSTALL_PREFIX:PATH=../../../build/destination && + cmake --build build --verbose --config ${{matrix.cfg}} --parallel diff --git a/.github/workflows/vs18-clang-ci.yml b/.github/workflows/vs18-clang-ci.yml new file mode 100644 index 0000000..cd5fa56 --- /dev/null +++ b/.github/workflows/vs18-clang-ci.yml @@ -0,0 +1,28 @@ +name: VS18-CLANG-CI + +on: [push, pull_request] + +jobs: + ci: + name: vs18/${{matrix.arch}}/${{matrix.cfg}} + runs-on: windows-latest + strategy: + fail-fast: false + matrix: + include: + - {gen: Visual Studio 18 2026, arch: Win32, cfg: Release} + - {gen: Visual Studio 18 2026, arch: Win32, cfg: Debug} + - {gen: Visual Studio 18 2026, arch: x64, cfg: Release} + - {gen: Visual Studio 18 2026, arch: x64, cfg: Debug} + steps: + - name: checkout + uses: actions/checkout@v6 + - name: Configure + run: | + 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 + run: | + cd build + ctest -C ${{matrix.cfg}} --output-on-failure -R basictest diff --git a/.github/workflows/vs18-cxx23.yml b/.github/workflows/vs18-cxx23.yml new file mode 100644 index 0000000..3713d67 --- /dev/null +++ b/.github/workflows/vs18-cxx23.yml @@ -0,0 +1,33 @@ +name: VS18-CI C++23 + +on: [push, pull_request] + +jobs: + ci: + name: vs18/${{matrix.arch}}/${{matrix.cfg}} + runs-on: windows-latest + strategy: + fail-fast: false + matrix: + include: + - {gen: Visual Studio 18 2026, arch: Win32, cfg: Release} + - {gen: Visual Studio 18 2026, arch: Win32, cfg: Debug} + - {gen: Visual Studio 18 2026, arch: x64, cfg: Release} + - {gen: Visual Studio 18 2026, arch: x64, cfg: Debug} + steps: + - name: checkout + uses: actions/checkout@v6 + - name: configure + run: >- + cmake -S . -B build -G "${{matrix.gen}}" -A ${{matrix.arch}} + -DFASTFLOAT_CXX_STANDARD=23 + -DFASTFLOAT_TEST=ON + -DFASTFLOAT_CONSTEXPR_TESTS=ON + -DCMAKE_INSTALL_PREFIX:PATH=destination + - name: build + run: | + cmake --build build --verbose --config ${{matrix.cfg}} --parallel + - name: test + run: | + cd build && + ctest --output-on-failure -C ${{matrix.cfg}}