diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index d37c53067..deb6047a0 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -70,6 +70,66 @@ jobs: - name: Test run: cd build ; ctest -j 10 -C ${{ matrix.build_type }} --output-on-failure + # Visual Studio 2026 (v145 toolset) on the windows-2025 image. The "Visual Studio + # 18 2026" generator requires CMake 4.2+, so a recent CMake is fetched explicitly. + msvc-vs2026: + strategy: + matrix: + build_type: [Debug, Release] + architecture: [Win32, x64] + std_version: [default, latest] + + runs-on: windows-2025 + + steps: + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - name: Get latest CMake and ninja + uses: lukka/get-cmake@f5b8fbb4d77cec1acc5a5f9f0df4beffaf5d98d9 # v4.3.4 + - name: Set extra CXX_FLAGS for latest std_version + run: | + if [ "${{ matrix.std_version }}" = "latest" ]; then + echo "flags=/permissive- /std:c++latest /utf-8 /W4 /WX" >> $GITHUB_ENV + else + echo "flags=/W4 /WX" >> $GITHUB_ENV + fi + shell: bash + - name: Run CMake (Release) + run: cmake -S . -B build -G "Visual Studio 18 2026" -A ${{ matrix.architecture }} -DJSON_BuildTests=On -DCMAKE_CXX_FLAGS="$env:flags" + if: matrix.build_type == 'Release' + shell: pwsh + - name: Run CMake (Debug) + run: cmake -S . -B build -G "Visual Studio 18 2026" -A ${{ matrix.architecture }} -DJSON_BuildTests=On -DJSON_FastTests=ON -DCMAKE_CXX_FLAGS="$env:flags" + if: matrix.build_type == 'Debug' + shell: pwsh + - name: Build + run: cmake --build build --config ${{ matrix.build_type }} --parallel 10 + - name: Test + run: cd build ; ctest -j 10 -C ${{ matrix.build_type }} --output-on-failure + + # Native ARM64 Windows runner with the MSVC ARM64 toolset. The windows-11-arm + # label is only available for public repositories. + msvc-arm64: + strategy: + matrix: + build_type: [Debug, Release] + + runs-on: windows-11-arm + + steps: + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - name: Run CMake (Release) + run: cmake -S . -B build -G "Visual Studio 17 2022" -A ARM64 -DJSON_BuildTests=On -DCMAKE_CXX_FLAGS="/W4 /WX" + if: matrix.build_type == 'Release' + shell: pwsh + - name: Run CMake (Debug) + run: cmake -S . -B build -G "Visual Studio 17 2022" -A ARM64 -DJSON_BuildTests=On -DJSON_FastTests=ON -DCMAKE_CXX_FLAGS="/W4 /WX" + if: matrix.build_type == 'Debug' + shell: pwsh + - name: Build + run: cmake --build build --config ${{ matrix.build_type }} --parallel 10 + - name: Test + run: cd build ; ctest -j 10 -C ${{ matrix.build_type }} --output-on-failure + clang: runs-on: windows-2022 strategy: diff --git a/docs/mkdocs/docs/community/quality_assurance.md b/docs/mkdocs/docs/community/quality_assurance.md index fd12e281f..5fc1dcfa5 100644 --- a/docs/mkdocs/docs/community/quality_assurance.md +++ b/docs/mkdocs/docs/community/quality_assurance.md @@ -82,8 +82,8 @@ violations will result in a failed build. | GNU 14.2.0 | arm64 | Linux 6.1.100 | Cirrus CI | | GNU 15.1.0 | x86_64 | Ubuntu 22.04.1 LTS | GitHub | | icpc (ICC) 2021.5.0 20211109 | x86_64 | Ubuntu 20.04.3 LTS | GitHub | - | icpx (Intel oneAPI DPC++/C++) 2025.x | x86_64 | Ubuntu 22.04.1 LTS | GitHub | - | nvc++ (NVIDIA HPC SDK) 25.5 | x86_64 | Ubuntu 22.04.1 LTS | GitHub | + | icpx (Intel oneAPI DPC++/C++) 2025.3.2 | x86_64 | Ubuntu 24.04 LTS | GitHub | + | nvc++ (NVIDIA HPC SDK) 25.5-0 | x86_64 | Ubuntu 22.04 LTS | GitHub | | MSVC 19.0.24241.7 | x86 | Windows 8.1 | AppVeyor | | MSVC 19.16.27035.0 | x86 | Windows-10 (Build 14393) | AppVeyor | | MSVC 19.29.30157.0 | x86 | Windows-10 (Build 17763) | AppVeyor |