1717 DOTNET_CLI_TELEMETRY_OPTOUT : 1
1818
1919jobs :
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