From e59990d94a04a7b7c074a63a425c105cb689cfb8 Mon Sep 17 00:00:00 2001 From: Marcel Cornu Date: Fri, 15 May 2026 16:04:16 +0100 Subject: [PATCH 1/4] Test VS2026 windows build --- .github/workflows/windows.yml | 126 ++++++++++++++++++++++++++++++++-- 1 file changed, 121 insertions(+), 5 deletions(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 2cd1ee1d..57f7326b 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -10,11 +10,11 @@ permissions: contents: read jobs: - # CMake release build with shared library (msbuild) - release-cmake-msvc-msbuild: + # CMake release build with shared library (msbuild) on VS2026 + release-cmake-msvc-msbuild-vs2026: env: BUILD_TYPE: Release - runs-on: windows-latest + runs-on: windows-2025-vs2026 steps: - name: Setup NASM @@ -44,10 +44,10 @@ jobs: run: ctest -j 5 -C ${{env.BUILD_TYPE}} --test-dir ${{env.BUILD_DIR}} # CMake debug build with shared library (msbuild) - debug-cmake-msvc-msbuild: + debug-cmake-msvc-msbuild-vs2026: env: BUILD_TYPE: Debug - runs-on: windows-latest + runs-on: windows-2025-vs2026 steps: - name: Setup NASM @@ -73,5 +73,121 @@ jobs: - name: Build run: cmake --build ${{env.BUILD_DIR}} --config ${{env.BUILD_TYPE}} + # CMake release build with shared library (ninja) on VS2026 + debug-cmake-ninja-vs2026: + runs-on: windows-2025-vs2026 + + steps: + - name: Setup NASM + uses: ilammy/setup-nasm@13cbeb366c45c4379d3478cdcbadd8295feb5028 # v1.5.1 + + - name: Checkout repo + uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 + + - name: Setup environment + run: | + New-Item -ItemType Directory -Path "$pwd\build" + New-Item -ItemType Directory -Path "$pwd\build\bin" + "BUILD_DIR=$pwd\build" >> $env:GITHUB_ENV + "BINARY_DIR=$pwd\build\bin" >> $env:GITHUB_ENV + $env:PATH += "$pwd\build\bin;" + + - name: Configure CMake + run: cmake -G Ninja -DIMB_BIN_DIR=${{env.BINARY_DIR}} -B ${{env.BUILD_DIR}} + + - name: Build + run: cmake --build ${{env.BUILD_DIR}} + - name: Test + run: ctest -j 5 -C ${{env.BUILD_TYPE}} --test-dir ${{env.BUILD_DIR}} + + # CMake release build with shared library (msbuild) on VS2022 + release-cmake-msvc-msbuild-vs2022: + env: + BUILD_TYPE: Release + runs-on: windows-2022 + + steps: + - name: Setup NASM + uses: ilammy/setup-nasm@13cbeb366c45c4379d3478cdcbadd8295feb5028 # v1.5.1 + + - name: Checkout repo + uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 + + - name: Add MSBuild to PATH + uses: microsoft/setup-msbuild@c26a08ba26249b81327e26f6ef381897b6a8754d # v1.0.2 + + - name: Setup environment + run: | + New-Item -ItemType Directory -Path "$pwd\build" + New-Item -ItemType Directory -Path "$pwd\build\bin" + "BUILD_DIR=$pwd\build" >> $env:GITHUB_ENV + "BINARY_DIR=$pwd\build\bin" >> $env:GITHUB_ENV + $env:PATH += "$pwd\build\bin;" + + - name: Configure CMake + run: cmake -A x64 -DIMB_BIN_DIR=${{env.BINARY_DIR}} -B ${{env.BUILD_DIR}} + + - name: Build + run: cmake --build ${{env.BUILD_DIR}} --config ${{env.BUILD_TYPE}} + + - name: Test + run: ctest -j 5 -C ${{env.BUILD_TYPE}} --test-dir ${{env.BUILD_DIR}} + + # CMake debug build with shared library (msbuild) on VS2022 + debug-cmake-msvc-msbuild-vs2022: + env: + BUILD_TYPE: Debug + runs-on: windows-2022 + + steps: + - name: Setup NASM + uses: ilammy/setup-nasm@13cbeb366c45c4379d3478cdcbadd8295feb5028 # v1.5.1 + + - name: Checkout repo + uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 + + - name: Add MSBuild to PATH + uses: microsoft/setup-msbuild@c26a08ba26249b81327e26f6ef381897b6a8754d # v1.0.2 + + - name: Setup environment + run: | + New-Item -ItemType Directory -Path "$pwd\build" + New-Item -ItemType Directory -Path "$pwd\build\bin" + "BUILD_DIR=$pwd\build" >> $env:GITHUB_ENV + "BINARY_DIR=$pwd\build\bin" >> $env:GITHUB_ENV + $env:PATH += "$pwd\build\bin;" + + - name: Configure CMake + run: cmake -A x64 -DIMB_BIN_DIR=${{env.BINARY_DIR}} -B ${{env.BUILD_DIR}} + + - name: Build + run: cmake --build ${{env.BUILD_DIR}} --config ${{env.BUILD_TYPE}} + - name: Test + run: ctest -j 5 -C ${{env.BUILD_TYPE}} --test-dir ${{env.BUILD_DIR}} + + # CMake release build with shared library (ninja) on VS2022 + debug-cmake-ninja-vs2022: + runs-on: windows-2022 + + steps: + - name: Setup NASM + uses: ilammy/setup-nasm@13cbeb366c45c4379d3478cdcbadd8295feb5028 # v1.5.1 + + - name: Checkout repo + uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 + + - name: Setup environment + run: | + New-Item -ItemType Directory -Path "$pwd\build" + New-Item -ItemType Directory -Path "$pwd\build\bin" + "BUILD_DIR=$pwd\build" >> $env:GITHUB_ENV + "BINARY_DIR=$pwd\build\bin" >> $env:GITHUB_ENV + $env:PATH += "$pwd\build\bin;" + + - name: Configure CMake + run: cmake -G Ninja -DIMB_BIN_DIR=${{env.BINARY_DIR}} -B ${{env.BUILD_DIR}} + + - name: Build + run: cmake --build ${{env.BUILD_DIR}} - name: Test run: ctest -j 5 -C ${{env.BUILD_TYPE}} --test-dir ${{env.BUILD_DIR}} From 13c8290f42f84c130f69e2dc1ad72bea17cb1f58 Mon Sep 17 00:00:00 2001 From: Marcel Cornu Date: Fri, 15 May 2026 16:14:51 +0100 Subject: [PATCH 2/4] use msvc in ninja builds --- .github/workflows/windows.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 57f7326b..5ecf447b 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -93,8 +93,7 @@ jobs: $env:PATH += "$pwd\build\bin;" - name: Configure CMake - run: cmake -G Ninja -DIMB_BIN_DIR=${{env.BINARY_DIR}} -B ${{env.BUILD_DIR}} - + run: cmake -G Ninja -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=cl -DIMB_BIN_DIR=${{env.BINARY_DIR}} -B ${{env.BUILD_DIR}} - name: Build run: cmake --build ${{env.BUILD_DIR}} - name: Test @@ -185,8 +184,7 @@ jobs: $env:PATH += "$pwd\build\bin;" - name: Configure CMake - run: cmake -G Ninja -DIMB_BIN_DIR=${{env.BINARY_DIR}} -B ${{env.BUILD_DIR}} - + run: cmake -G Ninja -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=cl -DIMB_BIN_DIR=${{env.BINARY_DIR}} -B ${{env.BUILD_DIR}} - name: Build run: cmake --build ${{env.BUILD_DIR}} - name: Test From 66efc0eedd1be0d5e3008ae13b0e07ce30bf3643 Mon Sep 17 00:00:00 2001 From: Marcel Cornu Date: Fri, 15 May 2026 16:24:20 +0100 Subject: [PATCH 3/4] Update windows.yml --- .github/workflows/windows.yml | 33 ++++++--------------------------- 1 file changed, 6 insertions(+), 27 deletions(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 5ecf447b..ae60fcf8 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -73,32 +73,6 @@ jobs: - name: Build run: cmake --build ${{env.BUILD_DIR}} --config ${{env.BUILD_TYPE}} - # CMake release build with shared library (ninja) on VS2026 - debug-cmake-ninja-vs2026: - runs-on: windows-2025-vs2026 - - steps: - - name: Setup NASM - uses: ilammy/setup-nasm@13cbeb366c45c4379d3478cdcbadd8295feb5028 # v1.5.1 - - - name: Checkout repo - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 - - - name: Setup environment - run: | - New-Item -ItemType Directory -Path "$pwd\build" - New-Item -ItemType Directory -Path "$pwd\build\bin" - "BUILD_DIR=$pwd\build" >> $env:GITHUB_ENV - "BINARY_DIR=$pwd\build\bin" >> $env:GITHUB_ENV - $env:PATH += "$pwd\build\bin;" - - - name: Configure CMake - run: cmake -G Ninja -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=cl -DIMB_BIN_DIR=${{env.BINARY_DIR}} -B ${{env.BUILD_DIR}} - - name: Build - run: cmake --build ${{env.BUILD_DIR}} - - name: Test - run: ctest -j 5 -C ${{env.BUILD_TYPE}} --test-dir ${{env.BUILD_DIR}} - # CMake release build with shared library (msbuild) on VS2022 release-cmake-msvc-msbuild-vs2022: env: @@ -172,6 +146,11 @@ jobs: - name: Setup NASM uses: ilammy/setup-nasm@13cbeb366c45c4379d3478cdcbadd8295feb5028 # v1.5.1 + - name: Setup MSVC dev environment + uses: ilammy/msvc-dev-cmd@v1 + with: + arch: x64 + - name: Checkout repo uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 @@ -188,4 +167,4 @@ jobs: - name: Build run: cmake --build ${{env.BUILD_DIR}} - name: Test - run: ctest -j 5 -C ${{env.BUILD_TYPE}} --test-dir ${{env.BUILD_DIR}} + run: ctest -j 5 --test-dir ${{env.BUILD_DIR}} From 7d62207f7265337c992a43ecb240554e8262ce45 Mon Sep 17 00:00:00 2001 From: Marcel Cornu Date: Mon, 18 May 2026 11:53:52 +0100 Subject: [PATCH 4/4] Update windows.yml --- .github/workflows/windows.yml | 45 +++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index ae60fcf8..5369048f 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -10,21 +10,21 @@ permissions: contents: read jobs: - # CMake release build with shared library (msbuild) on VS2026 - release-cmake-msvc-msbuild-vs2026: + # CMake release build with shared library (msbuild) + release-cmake-msvc-msbuild: env: BUILD_TYPE: Release - runs-on: windows-2025-vs2026 + runs-on: windows-latest steps: - name: Setup NASM - uses: ilammy/setup-nasm@13cbeb366c45c4379d3478cdcbadd8295feb5028 # v1.5.1 + uses: ilammy/setup-nasm@72793074d3c8cdda771dba85f6deafe00623038b # v1.5.2 - name: Checkout repo - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Add MSBuild to PATH - uses: microsoft/setup-msbuild@c26a08ba26249b81327e26f6ef381897b6a8754d # v1.0.2 + uses: microsoft/setup-msbuild@30375c66a4eea26614e0d39710365f22f8b0af57 # v3.0.0 - name: Setup environment run: | @@ -44,20 +44,20 @@ jobs: run: ctest -j 5 -C ${{env.BUILD_TYPE}} --test-dir ${{env.BUILD_DIR}} # CMake debug build with shared library (msbuild) - debug-cmake-msvc-msbuild-vs2026: + debug-cmake-msvc-msbuild: env: BUILD_TYPE: Debug - runs-on: windows-2025-vs2026 + runs-on: windows-latest steps: - name: Setup NASM - uses: ilammy/setup-nasm@13cbeb366c45c4379d3478cdcbadd8295feb5028 # v1.5.1 + uses: ilammy/setup-nasm@72793074d3c8cdda771dba85f6deafe00623038b # v1.5.2 - name: Checkout repo - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Add MSBuild to PATH - uses: microsoft/setup-msbuild@c26a08ba26249b81327e26f6ef381897b6a8754d # v1.0.2 + uses: microsoft/setup-msbuild@30375c66a4eea26614e0d39710365f22f8b0af57 # v3.0.0 - name: Setup environment run: | @@ -81,13 +81,13 @@ jobs: steps: - name: Setup NASM - uses: ilammy/setup-nasm@13cbeb366c45c4379d3478cdcbadd8295feb5028 # v1.5.1 + uses: ilammy/setup-nasm@72793074d3c8cdda771dba85f6deafe00623038b # v1.5.2 - name: Checkout repo - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Add MSBuild to PATH - uses: microsoft/setup-msbuild@c26a08ba26249b81327e26f6ef381897b6a8754d # v1.0.2 + uses: microsoft/setup-msbuild@30375c66a4eea26614e0d39710365f22f8b0af57 # v3.0.0 - name: Setup environment run: | @@ -114,13 +114,13 @@ jobs: steps: - name: Setup NASM - uses: ilammy/setup-nasm@13cbeb366c45c4379d3478cdcbadd8295feb5028 # v1.5.1 + uses: ilammy/setup-nasm@72793074d3c8cdda771dba85f6deafe00623038b # v1.5.2 - name: Checkout repo - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Add MSBuild to PATH - uses: microsoft/setup-msbuild@c26a08ba26249b81327e26f6ef381897b6a8754d # v1.0.2 + uses: microsoft/setup-msbuild@30375c66a4eea26614e0d39710365f22f8b0af57 # v3.0.0 - name: Setup environment run: | @@ -135,24 +135,25 @@ jobs: - name: Build run: cmake --build ${{env.BUILD_DIR}} --config ${{env.BUILD_TYPE}} + - name: Test run: ctest -j 5 -C ${{env.BUILD_TYPE}} --test-dir ${{env.BUILD_DIR}} # CMake release build with shared library (ninja) on VS2022 - debug-cmake-ninja-vs2022: + release-cmake-ninja-vs2022: runs-on: windows-2022 steps: - name: Setup NASM - uses: ilammy/setup-nasm@13cbeb366c45c4379d3478cdcbadd8295feb5028 # v1.5.1 + uses: ilammy/setup-nasm@72793074d3c8cdda771dba85f6deafe00623038b # v1.5.2 - name: Setup MSVC dev environment - uses: ilammy/msvc-dev-cmd@v1 + uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 with: arch: x64 - name: Checkout repo - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Setup environment run: | @@ -164,7 +165,9 @@ jobs: - name: Configure CMake run: cmake -G Ninja -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=cl -DIMB_BIN_DIR=${{env.BINARY_DIR}} -B ${{env.BUILD_DIR}} + - name: Build run: cmake --build ${{env.BUILD_DIR}} + - name: Test run: ctest -j 5 --test-dir ${{env.BUILD_DIR}}