Update GitHub runner images and Actions versions

The new Windows runner images ship Visual Studio 2026, which requires CMake 4.2 or later.
This commit is contained in:
Lukas Dürrenberger committed 2026-10-04 13:40:15 +02:00
1 parent 24c8ddb1b5
commit 9fe9c109af
4 files changed
+60 -60

No files matched your search

+14 -14
View File
@@ -22,10 +22,10 @@ jobs:
fail-fast: false
matrix:
platform:
- { name: Windows VS2022 x86, os: windows-2025, flags: -AWin32 }
- { name: Windows VS2022 x64, os: windows-2025, flags: -Ax64 }
- { name: Windows ClangCL, os: windows-2025, flags: -T ClangCL }
- { name: Windows Clang, os: windows-2025, flags: -GNinja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ }
- { name: Windows VS2026 x86, os: windows-2025-vs2026, flags: -AWin32 }
- { name: Windows VS2026 x64, os: windows-2025-vs2026, flags: -Ax64 }
- { name: Windows ClangCL, os: windows-2025-vs2026, flags: -T ClangCL }
- { name: Windows Clang, os: windows-2025-vs2026, flags: -GNinja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ }
- { name: Linux GCC, os: ubuntu-24.04, flags: -GNinja }
- { name: Linux Clang, os: ubuntu-24.04, flags: -GNinja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ }
- { name: MacOS, os: macos-15, flags: -GNinja }
@@ -40,7 +40,7 @@ jobs:
- name: Get CMake and Ninja
uses: lukka/get-cmake@latest
with:
cmakeVersion: ${{ runner.os == 'Windows' && '3.25' || '3.22' }}
cmakeVersion: ${{ runner.os == 'Windows' && '4.2' || '3.22' }} # Visual Studio 2026 generator requires CMake 4.2 or later
ninjaVersion: latest
- name: Install Linux Dependencies
@@ -48,7 +48,7 @@ jobs:
run: sudo apt-get update && sudo apt-get install libxrandr-dev libxcursor-dev libxi-dev libudev-dev libflac-dev libvorbis-dev libgl1-mesa-dev libegl1-mesa-dev libfreetype-dev
- name: Checkout SFML
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
repository: SFML/SFML
ref: ${{env.SFML_VERSION}}
@@ -66,7 +66,7 @@ jobs:
run: cmake --build SFML/build --config ${{matrix.type.name}} --target install
- name: Checkout CSFML
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
path: CSFML
@@ -96,7 +96,7 @@ jobs:
run: sudo apt-get install clang-format-17
- name: Checkout Code
uses: actions/checkout@v6
uses: actions/checkout@v7
- name: Format Code
run: cmake -DCLANG_FORMAT_EXECUTABLE=clang-format-17 -P cmake/Format.cmake
@@ -112,7 +112,7 @@ jobs:
- name: Get CMake and Ninja
uses: lukka/get-cmake@latest
with:
cmakeVersion: ${{ runner.os == 'Windows' && '3.25' || '3.22' }}
cmakeVersion: ${{ runner.os == 'Windows' && '4.2' || '3.22' }} # Visual Studio 2026 generator requires CMake 4.2 or later
ninjaVersion: latest
- name: Install Dependencies
@@ -122,7 +122,7 @@ jobs:
echo /opt/homebrew/opt/llvm/bin >> $GITHUB_PATH
- name: Checkout SFML
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
repository: SFML/SFML
ref: ${{env.SFML_VERSION}}
@@ -135,7 +135,7 @@ jobs:
run: cmake --build SFML/build --target install
- name: Checkout CSFML
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
path: CSFML
@@ -153,7 +153,7 @@ jobs:
- name: Get CMake and Ninja
uses: lukka/get-cmake@latest
with:
cmakeVersion: ${{ runner.os == 'Windows' && '3.25' || '3.22' }}
cmakeVersion: ${{ runner.os == 'Windows' && '4.2' || '3.22' }} # Visual Studio 2026 generator requires CMake 4.2 or later
ninjaVersion: latest
- name: Install Doxygen
@@ -162,7 +162,7 @@ jobs:
brew install doxygen ninja || true
- name: Checkout SFML
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
repository: SFML/SFML
ref: ${{env.SFML_VERSION}}
@@ -175,7 +175,7 @@ jobs:
run: cmake --build SFML/build --target install
- name: Checkout CSFML
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
path: CSFML
+19 -19
View File
@@ -19,11 +19,11 @@ env:
jobs:
windows-x86-x64:
name: Windows x86 x64
runs-on: windows-2025
runs-on: windows-2025-vs2026
steps:
- name: Checkout CSFML
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
path: CSFML
@@ -40,18 +40,18 @@ jobs:
./build.win.ps1 "win-x64"
- name: Upload Artifact
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: CSFML-win-x86-x64
path: CSFML/tools/nuget/CSFML/runtimes
windows-arm64:
name: Windows ARM64
runs-on: windows-11-arm
runs-on: windows-11-vs2026-arm
steps:
- name: Checkout CSFML
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
path: CSFML
@@ -62,7 +62,7 @@ jobs:
./build.win.ps1 "win-arm64"
- name: Upload Artifact
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: CSFML-win-arm64
path: CSFML/tools/nuget/CSFML/runtimes
@@ -75,7 +75,7 @@ jobs:
steps:
- name: Checkout CSFML
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
path: CSFML
@@ -87,7 +87,7 @@ jobs:
./docker.linux-x64.sh
- name: Upload Artifact
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: CSFML-linux-x64
path: CSFML/tools/nuget/CSFML/runtimes
@@ -98,7 +98,7 @@ jobs:
steps:
- name: Checkout CSFML
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
path: CSFML
@@ -116,7 +116,7 @@ jobs:
./build.linux.sh linux-arm arm-linux-gnueabihf-g++ arm-linux-gnueabihf-gcc
- name: Upload Artifact
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: CSFML-linux-arm
path: CSFML/tools/nuget/CSFML/runtimes
@@ -127,7 +127,7 @@ jobs:
steps:
- name: Checkout CSFML
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
path: CSFML
@@ -144,7 +144,7 @@ jobs:
./build.linux.sh linux-arm64
- name: Upload Artifact
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: CSFML-linux-arm64
path: CSFML/tools/nuget/CSFML/runtimes
@@ -157,7 +157,7 @@ jobs:
steps:
- name: Checkout CSFML
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
path: CSFML
@@ -169,7 +169,7 @@ jobs:
./docker.linux-musl-x64.sh
- name: Upload Artifact
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: CSFML-linux-musl-x64
path: CSFML/tools/nuget/CSFML/runtimes
@@ -180,7 +180,7 @@ jobs:
steps:
- name: Checkout CSFML
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
path: CSFML
@@ -198,7 +198,7 @@ jobs:
./build.macos.sh "osx-arm64"
- name: Upload Artifact
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: CSFML-macOS-x64-arm64
path: CSFML/tools/nuget/CSFML/runtimes
@@ -216,11 +216,11 @@ jobs:
- macos-x64-arm64
steps:
- name: Checkout CSFML
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
path: CSFML
- name: Download Artifacts
uses: actions/download-artifact@v7
uses: actions/download-artifact@v8
with:
path: CSFML/tools/nuget/CSFML/runtimes
merge-multiple: true
@@ -238,7 +238,7 @@ jobs:
cd CSFML/tools/nuget
dotnet build --configuration Release --verbosity detailed
- name: Upload NuGet Package
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: CSFML-NuGet-Package
path: CSFML/tools/nuget/CSFML/bin/Release/*.nupkg
+26 -26
View File
@@ -19,12 +19,12 @@ env:
jobs:
windows-x86:
name: Windows x86
runs-on: windows-2025
runs-on: windows-2025-vs2026
steps:
- name: Cache MinGW x86
id: mingw-x86-cache
uses: actions/cache@v5
uses: actions/cache@v6
with:
path: ${{ github.workspace }}/mingw32
key: 15.2.0posix-13.0.0-ucrt-r1-x86
@@ -41,25 +41,25 @@ jobs:
add_to_path: false
- name: Checkout SFML
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
repository: SFML/SFML
ref: ${{ env.SFML_VERSION }}
path: SFML
- name: Checkout CSFML
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
path: CSFML
- name: Build SFML
run: |
cmake -S SFML -B SFML-build -A Win32 -G "Visual Studio 17 2022" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/SFML-install -DCMAKE_VERBOSE_MAKEFILE=ON
cmake -S SFML -B SFML-build -A Win32 -G "Visual Studio 18 2026" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/SFML-install -DCMAKE_VERBOSE_MAKEFILE=ON
cmake --build SFML-build --config Release --target install
- name: Build CSFML
run: |
cmake -S CSFML -B CSFML-build -A Win32 -G "Visual Studio 17 2022" -DBUILD_SHARED_LIBS=ON -DCSFML_LINK_SFML_STATICALLY=OFF -DCMAKE_BUILD_TYPE=Release -DSFML_ROOT=${{ github.workspace }}/SFML-install -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/CSFML-install -DCMAKE_VERBOSE_MAKEFILE=ON
cmake -S CSFML -B CSFML-build -A Win32 -G "Visual Studio 18 2026" -DBUILD_SHARED_LIBS=ON -DCSFML_LINK_SFML_STATICALLY=OFF -DCMAKE_BUILD_TYPE=Release -DSFML_ROOT=${{ github.workspace }}/SFML-install -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/CSFML-install -DCMAKE_VERBOSE_MAKEFILE=ON
cmake --build CSFML-build --config Release --target install
- name: Add MinGW to PATH
@@ -99,19 +99,19 @@ jobs:
Move-Item -Path "CSFML-install\*" -Destination "install\CSFML"
- name: Upload Artifact
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: CSFML-windows-32-bit
path: install/CSFML
windows-x64:
name: Windows x64
runs-on: windows-2025
runs-on: windows-2025-vs2026
steps:
- name: Cache MinGW x64
id: mingw-x64-cache
uses: actions/cache@v5
uses: actions/cache@v6
with:
path: ${{ github.workspace }}/mingw64
key: 15.2.0posix-13.0.0-ucrt-r1-x64
@@ -128,25 +128,25 @@ jobs:
add_to_path: false
- name: Checkout SFML
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
repository: SFML/SFML
ref: ${{ env.SFML_VERSION }}
path: SFML
- name: Checkout CSFML
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
path: CSFML
- name: Build SFML
run: |
cmake -S SFML -B SFML-build -A x64 -G "Visual Studio 17 2022" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/SFML-install -DCMAKE_VERBOSE_MAKEFILE=ON
cmake -S SFML -B SFML-build -A x64 -G "Visual Studio 18 2026" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/SFML-install -DCMAKE_VERBOSE_MAKEFILE=ON
cmake --build SFML-build --config Release --target install
- name: Build CSFML
run: |
cmake -S CSFML -B CSFML-build -A x64 -G "Visual Studio 17 2022" -DBUILD_SHARED_LIBS=ON -DCSFML_LINK_SFML_STATICALLY=OFF -DCMAKE_BUILD_TYPE=Release -DSFML_ROOT=${{ github.workspace }}/SFML-install -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/CSFML-install -DCMAKE_VERBOSE_MAKEFILE=ON
cmake -S CSFML -B CSFML-build -A x64 -G "Visual Studio 18 2026" -DBUILD_SHARED_LIBS=ON -DCSFML_LINK_SFML_STATICALLY=OFF -DCMAKE_BUILD_TYPE=Release -DSFML_ROOT=${{ github.workspace }}/SFML-install -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/CSFML-install -DCMAKE_VERBOSE_MAKEFILE=ON
cmake --build CSFML-build --config Release --target install
- name: Add MinGW to PATH
@@ -186,36 +186,36 @@ jobs:
Move-Item -Path "CSFML-install\*" -Destination "install\CSFML"
- name: Upload Artifact
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: CSFML-windows-64-bit
path: install/CSFML
windows-arm64:
name: Windows ARM64
runs-on: windows-2025
runs-on: windows-2025-vs2026
steps:
- name: Checkout SFML
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
repository: SFML/SFML
ref: ${{ env.SFML_VERSION }}
path: SFML
- name: Checkout CSFML
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
path: CSFML
- name: Build SFML
run: |
cmake -S SFML -B SFML-build -A ARM64 -G "Visual Studio 17 2022" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/SFML-install -DCMAKE_VERBOSE_MAKEFILE=ON
cmake -S SFML -B SFML-build -A ARM64 -G "Visual Studio 18 2026" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/SFML-install -DCMAKE_VERBOSE_MAKEFILE=ON
cmake --build SFML-build --config Release --target install
- name: Build CSFML
run: |
cmake -S CSFML -B CSFML-build -A ARM64 -G "Visual Studio 17 2022" -DBUILD_SHARED_LIBS=ON -DCSFML_LINK_SFML_STATICALLY=OFF -DCMAKE_BUILD_TYPE=Release -DSFML_ROOT=${{ github.workspace }}/SFML-install -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/CSFML-install -DCMAKE_VERBOSE_MAKEFILE=ON
cmake -S CSFML -B CSFML-build -A ARM64 -G "Visual Studio 18 2026" -DBUILD_SHARED_LIBS=ON -DCSFML_LINK_SFML_STATICALLY=OFF -DCMAKE_BUILD_TYPE=Release -DSFML_ROOT=${{ github.workspace }}/SFML-install -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/CSFML-install -DCMAKE_VERBOSE_MAKEFILE=ON
cmake --build CSFML-build --config Release --target install
- name: Move Files
@@ -225,7 +225,7 @@ jobs:
Move-Item -Path "CSFML-install\*" -Destination "install\CSFML"
- name: Upload Artifact
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: CSFML-windows-arm64
path: install/CSFML
@@ -236,14 +236,14 @@ jobs:
steps:
- name: Checkout SFML
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
repository: SFML/SFML
ref: ${{ env.SFML_VERSION }}
path: SFML
- name: Checkout CSFML
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
path: CSFML
@@ -288,7 +288,7 @@ jobs:
tar -zcvf CSFML-macOS-clang-64-bit.tar.gz CSFML-macOS-clang-64-bit
- name: Upload Artifact
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: CSFML-macOS-clang-64-bit
path: CSFML-macOS-clang-64-bit.tar.gz
@@ -299,14 +299,14 @@ jobs:
steps:
- name: Checkout SFML
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
repository: SFML/SFML
ref: ${{ env.SFML_VERSION }}
path: SFML
- name: Checkout CSFML
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
path: CSFML
- name: Build SFML
@@ -350,7 +350,7 @@ jobs:
tar -zcvf CSFML-macOS-clang-arm64.tar.gz CSFML-macOS-clang-arm64
- name: Upload Artifact
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: CSFML-macOS-clang-arm64
path: CSFML-macOS-clang-arm64.tar.gz
+1 -1
View File
@@ -17,7 +17,7 @@ if (-not $RID) {
exit
}
$Generator = 'Visual Studio 17 2022'
$Generator = 'Visual Studio 18 2026'
# See also: https://learn.microsoft.com/en-us/dotnet/core/rid-catalog#known-rids
switch ($RID) {