Skip to content

Commit e6dfa35

Browse files
committed
Update GitHub Action images and actions
1 parent e3cbd1e commit e6dfa35

4 files changed

Lines changed: 121 additions & 95 deletions

File tree

.github/workflows/ci.yml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ jobs:
2626
- { name: Windows VS2022 x64, os: windows-2025, flags: -Ax64 }
2727
- { name: Windows ClangCL, os: windows-2025, flags: -T ClangCL }
2828
- { name: Windows Clang, os: windows-2025, flags: -GNinja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ }
29-
- { name: Linux GCC, os: ubuntu-22.04, flags: -GNinja }
30-
- { name: Linux Clang, os: ubuntu-22.04, flags: -GNinja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ }
31-
- { name: MacOS, os: macos-14, flags: -GNinja }
29+
- { name: Linux GCC, os: ubuntu-24.04, flags: -GNinja }
30+
- { name: Linux Clang, os: ubuntu-24.04, flags: -GNinja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ }
31+
- { name: MacOS, os: macos-15, flags: -GNinja }
3232
config:
3333
- { name: Shared, flags: -DBUILD_SHARED_LIBS=ON, csfml_flags: -DCSFML_LINK_SFML_STATICALLY=OFF }
3434
- { name: Static, flags: -DBUILD_SHARED_LIBS=OFF, csfml_flags: -DCSFML_LINK_SFML_STATICALLY=ON }
@@ -48,7 +48,7 @@ jobs:
4848
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
4949

5050
- name: Checkout SFML
51-
uses: actions/checkout@v4
51+
uses: actions/checkout@v6
5252
with:
5353
repository: SFML/SFML
5454
ref: ${{env.SFML_VERSION}}
@@ -66,7 +66,7 @@ jobs:
6666
run: cmake --build SFML/build --config ${{matrix.type.name}} --target install
6767

6868
- name: Checkout CSFML
69-
uses: actions/checkout@v4
69+
uses: actions/checkout@v6
7070
with:
7171
path: CSFML
7272

@@ -96,7 +96,7 @@ jobs:
9696
run: sudo apt-get install clang-format-17
9797

9898
- name: Checkout Code
99-
uses: actions/checkout@v4
99+
uses: actions/checkout@v6
100100

101101
- name: Format Code
102102
run: cmake -DCLANG_FORMAT_EXECUTABLE=clang-format-17 -P cmake/Format.cmake
@@ -106,7 +106,7 @@ jobs:
106106

107107
tidy:
108108
name: Analyze
109-
runs-on: macos-14
109+
runs-on: macos-15
110110

111111
steps:
112112
- name: Get CMake and Ninja
@@ -122,7 +122,7 @@ jobs:
122122
echo /opt/homebrew/opt/llvm/bin >> $GITHUB_PATH
123123
124124
- name: Checkout SFML
125-
uses: actions/checkout@v4
125+
uses: actions/checkout@v6
126126
with:
127127
repository: SFML/SFML
128128
ref: ${{env.SFML_VERSION}}
@@ -135,7 +135,7 @@ jobs:
135135
run: cmake --build SFML/build --target install
136136

137137
- name: Checkout CSFML
138-
uses: actions/checkout@v4
138+
uses: actions/checkout@v6
139139
with:
140140
path: CSFML
141141

@@ -147,7 +147,7 @@ jobs:
147147

148148
docs:
149149
name: Documentation
150-
runs-on: macos-14
150+
runs-on: macos-15
151151

152152
steps:
153153
- name: Get CMake and Ninja
@@ -162,7 +162,7 @@ jobs:
162162
brew install doxygen ninja || true
163163
164164
- name: Checkout SFML
165-
uses: actions/checkout@v4
165+
uses: actions/checkout@v6
166166
with:
167167
repository: SFML/SFML
168168
ref: ${{env.SFML_VERSION}}
@@ -175,7 +175,7 @@ jobs:
175175
run: cmake --build SFML/build --target install
176176

177177
- name: Checkout CSFML
178-
uses: actions/checkout@v4
178+
uses: actions/checkout@v6
179179
with:
180180
path: CSFML
181181

.github/workflows/nuget.yml

Lines changed: 71 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ env:
1717
DOTNET_CLI_TELEMETRY_OPTOUT: 1
1818

1919
jobs:
20-
windows:
21-
name: Windows VS2022
20+
windows-x86-x64:
21+
name: Windows x86 x64
2222
runs-on: windows-2025
2323

2424
steps:
2525
- name: Checkout CSFML
26-
uses: actions/checkout@v4
26+
uses: actions/checkout@v6
2727
with:
2828
path: CSFML
2929

@@ -39,27 +39,43 @@ jobs:
3939
cd CSFML/tools/nuget
4040
./build.win.ps1 "win-x64"
4141
42+
- name: Upload Artifact
43+
uses: actions/upload-artifact@v6
44+
with:
45+
name: CSFML-win-x86-x64
46+
path: CSFML/tools/nuget/CSFML/runtimes
47+
48+
windows-arm64:
49+
name: Windows ARM64
50+
runs-on: windows-11-arm
51+
52+
steps:
53+
- name: Checkout CSFML
54+
uses: actions/checkout@v6
55+
with:
56+
path: CSFML
57+
4258
- name: Build ARM64
4359
shell: pwsh
4460
run: |
4561
cd CSFML/tools/nuget
4662
./build.win.ps1 "win-arm64"
4763
4864
- name: Upload Artifact
49-
uses: actions/upload-artifact@v4
65+
uses: actions/upload-artifact@v6
5066
with:
51-
name: CSFML-win-x86-x64-arm64
67+
name: CSFML-win-arm64
5268
path: CSFML/tools/nuget/CSFML/runtimes
5369

5470
linux-x64:
5571
name: Linux x64
56-
runs-on: ubuntu-22.04
72+
runs-on: ubuntu-24.04
5773
container:
58-
image: ubuntu:22.04
74+
image: ubuntu:24.04
5975

6076
steps:
6177
- name: Checkout CSFML
62-
uses: actions/checkout@v4
78+
uses: actions/checkout@v6
6379
with:
6480
path: CSFML
6581

@@ -71,84 +87,77 @@ jobs:
7187
./docker.linux-x64.sh
7288
7389
- name: Upload Artifact
74-
uses: actions/upload-artifact@v4
90+
uses: actions/upload-artifact@v6
7591
with:
7692
name: CSFML-linux-x64
7793
path: CSFML/tools/nuget/CSFML/runtimes
7894

7995
linux-arm:
8096
name: Linux ARM
81-
runs-on: ubuntu-22.04
97+
runs-on: ubuntu-24.04-arm
8298

8399
steps:
84100
- name: Checkout CSFML
85-
uses: actions/checkout@v4
101+
uses: actions/checkout@v6
86102
with:
87103
path: CSFML
88104

89-
- name: Build in an ARM container
90-
uses: uraimo/run-on-arch-action@v3.0.1
91-
with:
92-
arch: armv7
93-
distro: ubuntu22.04
94-
githubToken: ${{ github.token }}
95-
dockerRunArgs: |
96-
--volume "${PWD}/CSFML:/CSFML"
97-
install: |
98-
apt-get update -y
99-
apt-get install -y git libfreetype6-dev xorg-dev libxrandr-dev libxcursor-dev libxi-dev libudev-dev libgl1-mesa-dev libflac-dev libogg-dev libvorbis-dev cmake g++
100-
run: |
101-
cd /CSFML/tools/nuget
102-
chmod +x ./build.linux.sh
103-
./build.linux.sh linux-arm
105+
- name: Install dependencies & cross compiler
106+
run: |
107+
sudo dpkg --add-architecture armhf
108+
sudo apt-get update
109+
sudo apt-get install -y git libfreetype6-dev:armhf xorg-dev libxrandr-dev:armhf libxcursor-dev:armhf libxi-dev:armhf libudev-dev:armhf libgl1-mesa-dev:armhf libflac-dev:armhf libogg-dev:armhf libvorbis-dev:armhf cmake g++-arm-linux-gnueabihf gcc-arm-linux-gnueabihf
110+
111+
- name: Build
112+
shell: bash
113+
run: |
114+
cd ./CSFML/tools/nuget
115+
chmod +x ./build.linux.sh
116+
./build.linux.sh linux-arm arm-linux-gnueabihf-g++ arm-linux-gnueabihf-gcc
104117
105118
- name: Upload Artifact
106-
uses: actions/upload-artifact@v4
119+
uses: actions/upload-artifact@v6
107120
with:
108121
name: CSFML-linux-arm
109122
path: CSFML/tools/nuget/CSFML/runtimes
110123

111124
linux-arm64:
112125
name: Linux ARM64
113-
runs-on: ubuntu-22.04
126+
runs-on: ubuntu-24.04-arm
114127

115128
steps:
116129
- name: Checkout CSFML
117-
uses: actions/checkout@v4
130+
uses: actions/checkout@v6
118131
with:
119132
path: CSFML
120133

121-
- name: Build in an ARM64 container
122-
uses: uraimo/run-on-arch-action@v3.0.1
123-
with:
124-
arch: aarch64
125-
distro: ubuntu22.04
126-
githubToken: ${{ github.token }}
127-
dockerRunArgs: |
128-
--volume "${PWD}/CSFML:/CSFML"
129-
install: |
130-
apt-get update -y
131-
apt-get install -y git libfreetype6-dev xorg-dev libxrandr-dev libxcursor-dev libudev-dev libgl1-mesa-dev libflac-dev libogg-dev libvorbis-dev cmake g++
132-
run: |
133-
cd /CSFML/tools/nuget
134-
chmod +x ./build.linux.sh
135-
./build.linux.sh linux-arm64
134+
- name: Install dependencies
135+
run: |
136+
sudo apt-get update
137+
sudo apt-get install -y git libfreetype6-dev xorg-dev libxrandr-dev libxcursor-dev libxi-dev libudev-dev libgl1-mesa-dev libflac-dev libogg-dev libvorbis-dev cmake gcc g++
138+
139+
- name: Build
140+
shell: bash
141+
run: |
142+
cd ./CSFML/tools/nuget
143+
chmod +x ./build.linux.sh
144+
./build.linux.sh linux-arm64
136145
137146
- name: Upload Artifact
138-
uses: actions/upload-artifact@v4
147+
uses: actions/upload-artifact@v6
139148
with:
140149
name: CSFML-linux-arm64
141150
path: CSFML/tools/nuget/CSFML/runtimes
142151

143152
linux-musl-x64:
144153
name: Linux MUSL x64
145-
runs-on: ubuntu-22.04
154+
runs-on: ubuntu-24.04
146155
container:
147156
image: alpine:3.20.7
148157

149158
steps:
150159
- name: Checkout CSFML
151-
uses: actions/checkout@v4
160+
uses: actions/checkout@v6
152161
with:
153162
path: CSFML
154163

@@ -160,18 +169,18 @@ jobs:
160169
./docker.linux-musl-x64.sh
161170
162171
- name: Upload Artifact
163-
uses: actions/upload-artifact@v4
172+
uses: actions/upload-artifact@v6
164173
with:
165174
name: CSFML-linux-musl-x64
166175
path: CSFML/tools/nuget/CSFML/runtimes
167176

168-
macos:
169-
name: macOS
170-
runs-on: macos-14
177+
macos-x64-arm64:
178+
name: macOS x64 and ARM64
179+
runs-on: macos-15
171180

172181
steps:
173182
- name: Checkout CSFML
174-
uses: actions/checkout@v4
183+
uses: actions/checkout@v6
175184
with:
176185
path: CSFML
177186

@@ -189,7 +198,7 @@ jobs:
189198
./build.macos.sh "osx-arm64"
190199
191200
- name: Upload Artifact
192-
uses: actions/upload-artifact@v4
201+
uses: actions/upload-artifact@v6
193202
with:
194203
name: CSFML-macOS-x64-arm64
195204
path: CSFML/tools/nuget/CSFML/runtimes
@@ -198,27 +207,28 @@ jobs:
198207
name: Package Builds
199208
runs-on: ubuntu-24.04
200209
needs:
201-
- windows
210+
- windows-x86-x64
211+
- windows-arm64
202212
- linux-x64
203213
- linux-arm
204214
- linux-arm64
205215
- linux-musl-x64
206-
- macos
216+
- macos-x64-arm64
207217
steps:
208218
- name: Checkout CSFML
209-
uses: actions/checkout@v4
219+
uses: actions/checkout@v6
210220
with:
211221
path: CSFML
212222
- name: Download Artifacts
213-
uses: actions/download-artifact@v4
223+
uses: actions/download-artifact@v7
214224
with:
215225
path: CSFML/tools/nuget/CSFML/runtimes
216226
merge-multiple: true
217-
- name: Setup .NET 8 SDK
227+
- name: Setup .NET 10 SDK
218228
id: setup-dotnet
219-
uses: actions/setup-dotnet@v4
229+
uses: actions/setup-dotnet@v5
220230
with:
221-
dotnet-version: 8.0.x
231+
dotnet-version: 10.0.x
222232
- name: Enforce SDK Version
223233
run: dotnet new globaljson --sdk-version ${{ steps.setup-dotnet.outputs.dotnet-version }} --force
224234
- name: Verify SDK Installation
@@ -228,7 +238,7 @@ jobs:
228238
cd CSFML/tools/nuget
229239
dotnet build --configuration Release --verbosity detailed
230240
- name: Upload NuGet Package
231-
uses: actions/upload-artifact@v4
241+
uses: actions/upload-artifact@v6
232242
with:
233243
name: CSFML-NuGet-Package
234244
path: CSFML/tools/nuget/CSFML/bin/Release/*.nupkg

0 commit comments

Comments
 (0)