35
35
matrix :
36
36
config :
37
37
- {
38
- os : windows-2019 ,
38
+ os : windows-2022 ,
39
39
arch : x64,
40
40
python-arch : x64,
41
41
python-ver : ' 3.8' ,
@@ -45,10 +45,10 @@ jobs:
45
45
shared : ' yes' ,
46
46
build_type : ' Release' ,
47
47
archiver : ' 7z a' ,
48
- generators : ' Visual Studio 16 2019 '
48
+ generators : ' Visual Studio 17 2022 '
49
49
}
50
50
- {
51
- os : windows-2019 ,
51
+ os : windows-2022 ,
52
52
arch : x86,
53
53
python-arch : x86,
54
54
python-ver : ' 3.8' ,
58
58
shared : ' yes' ,
59
59
build_type : ' Release' ,
60
60
archiver : ' 7z a' ,
61
- generators : ' Visual Studio 16 2019 '
61
+ generators : ' Visual Studio 17 2022 '
62
62
}
63
63
compiler : [ gcc ]
64
64
steps :
@@ -228,7 +228,7 @@ jobs:
228
228
generators : ' Ninja'
229
229
}
230
230
- {
231
- os : ubuntu-22 .04,
231
+ os : ubuntu-24 .04-arm ,
232
232
arch : aarch64,
233
233
python-arch : aarch64,
234
234
python-ver : ' 3.8' ,
@@ -237,7 +237,7 @@ jobs:
237
237
build_type : ' Release' ,
238
238
archiver : ' 7z a' ,
239
239
generators : ' Ninja' ,
240
- distro : ubuntu20 .04
240
+ distro : ubuntu24 .04
241
241
}
242
242
- {
243
243
os : ubuntu-22.04,
@@ -249,22 +249,23 @@ jobs:
249
249
build_type : ' Release' ,
250
250
archiver : ' 7z a' ,
251
251
generators : ' Ninja' ,
252
- distro : ubuntu20 .04
252
+ distro : ubuntu22 .04
253
253
}
254
254
compiler : [ gcc ]
255
255
steps :
256
256
- uses : actions/checkout@v4
257
257
258
258
- name : ' 🚧 Linux x64/x86 build'
259
259
if : contains(matrix.config.arch, 'x64') || contains(matrix.config.arch, 'x86')
260
- shell : ' script -q -e -c " bash {0}" '
260
+ shell : bash
261
261
run : |
262
262
if [ ${{ matrix.config.arch }} == 'x64' ]; then
263
+ sudo apt update -q -y
263
264
sudo apt install -q -y libcmocka-dev ninja-build
264
265
else
265
266
export CFLAGS="-m32" LDFLAGS="-m32" LDFLAGS_STATIC="-m32" UNICORN_QEMU_FLAGS="--cpu=i386"
266
267
sudo dpkg --add-architecture i386
267
- sudo apt update
268
+ sudo apt update -q -y
268
269
sudo apt install -q -y lib32ncurses-dev lib32z1-dev lib32gcc-9-dev libc6-dev-i386 gcc-multilib \
269
270
libcmocka-dev:i386 libcmocka0:i386 libc6:i386 libgcc-s1:i386 ninja-build
270
271
fi
@@ -281,8 +282,26 @@ jobs:
281
282
cmake --install . --strip
282
283
ctest -VV -C ${{ matrix.config.build_type }}
283
284
284
- - name : ' 🚧 Linux ppc64le/aarch64 build'
285
- if : contains(matrix.config.arch, 'ppc64le') || contains(matrix.config.arch, 'aarch64')
285
+ - name : ' 🚧 Linux aarch64 build'
286
+ if : contains(matrix.config.arch, 'aarch64')
287
+ shell : bash
288
+ run : |
289
+ sudo apt-get update -q -y
290
+ sudo apt-get install -q -y git cmake build-essential automake libcmocka-dev pkg-config ${{ matrix.compiler }} ninja-build
291
+ mkdir build
292
+ mkdir instdir
293
+ cmake \
294
+ -S . \
295
+ -B . \
296
+ -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} \
297
+ -G "${{ matrix.config.generators }}" \
298
+ -DCMAKE_INSTALL_PREFIX:PATH=/instdir
299
+ cmake --build . --config ${{ matrix.config.build_type }}
300
+ sudo cmake --install . --strip
301
+ ctest -VV -C ${{ matrix.config.build_type }}
302
+
303
+ - name : ' 🚧 Linux ppc64le build'
304
+ if : contains(matrix.config.arch, 'ppc64le')
286
305
uses : uraimo/run-on-arch-action@v2
287
306
with :
288
307
arch : ${{ matrix.config.arch }}
@@ -323,7 +342,7 @@ jobs:
323
342
name : ${{ matrix.config.artifact }}
324
343
325
344
publish :
326
- needs : ["Windows", "Macos", "Linux"]
345
+ needs : [ "Windows", "Macos", "Linux" ]
327
346
if : ${{ needs.Windows.result == 'success' && needs.Macos.result == 'success' && needs.Linux.result == 'success' }}
328
347
runs-on : ubuntu-latest
329
348
0 commit comments