@@ -20,12 +20,15 @@ concurrency:
20
20
21
21
jobs :
22
22
cmake-linux-x86_64 :
23
- runs-on : ubuntu-22 .04-8core
23
+ runs-on : ' ubuntu-24 .04-8core'
24
24
timeout-minutes : 60
25
25
steps :
26
26
- uses : actions/checkout@v4
27
27
- name : Update apt
28
- run : sudo apt update
28
+ run : |
29
+ echo 'set man-db/auto-update false' | sudo debconf-communicate >/dev/null
30
+ sudo dpkg-reconfigure man-db
31
+ sudo apt update
29
32
- name : Install ninja
30
33
run : sudo apt install ninja-build
31
34
- name : Setup ccache
@@ -41,13 +44,17 @@ jobs:
41
44
if : ${{ inputs.run-tests }}
42
45
run : ctest --output-on-failure --parallel $(nproc)
43
46
working-directory : ${{ github.workspace }}/build/local
47
+
44
48
cmake-linux-aarch64 :
45
49
runs-on : arm-ubuntu-arm-22.04-8core
46
50
timeout-minutes : 60
47
51
steps :
48
52
- uses : actions/checkout@v4
49
53
- name : Update apt
50
- run : sudo apt update
54
+ run : |
55
+ echo 'set man-db/auto-update false' | sudo debconf-communicate >/dev/null
56
+ sudo dpkg-reconfigure man-db
57
+ sudo apt update
51
58
- name : Install ninja
52
59
run : sudo apt install ninja-build
53
60
- name : Setup ccache
@@ -63,13 +70,17 @@ jobs:
63
70
if : ${{ inputs.run-tests }}
64
71
run : ctest --output-on-failure --parallel $(nproc)
65
72
working-directory : ${{ github.workspace }}/build/local
73
+
66
74
cmake-linux-armhf :
67
75
runs-on : arm-ubuntu-arm-22.04-8core
68
76
timeout-minutes : 60
69
77
steps :
70
78
- uses : actions/checkout@v4
71
79
- name : Update apt
72
- run : sudo apt update
80
+ run : |
81
+ echo 'set man-db/auto-update false' | sudo debconf-communicate >/dev/null
82
+ sudo dpkg-reconfigure man-db
83
+ sudo apt update
73
84
- name : Install ninja
74
85
run : sudo apt install ninja-build
75
86
- name : Install armhf cross-toolchain
@@ -91,13 +102,17 @@ jobs:
91
102
LD_LIBRARY_PATH : /usr/arm-linux-gnueabihf/lib/:${{ env.LD_LIBRARY_PATH }}
92
103
run : ctest --output-on-failure --parallel $(nproc)
93
104
working-directory : ${{ github.workspace }}/build/linux/armhf
105
+
94
106
cmake-linux-riscv64 :
95
- runs-on : ubuntu-22 .04-16core
107
+ runs-on : ' ubuntu-24 .04-16core'
96
108
timeout-minutes : 60
97
109
steps :
98
110
- uses : actions/checkout@v4
99
111
- name : Update apt
100
- run : sudo apt update
112
+ run : |
113
+ echo 'set man-db/auto-update false' | sudo debconf-communicate >/dev/null
114
+ sudo dpkg-reconfigure man-db
115
+ sudo apt update
101
116
- name : Install ninja
102
117
run : sudo apt install ninja-build
103
118
- name : Install riscv64 cross-toolchain
@@ -117,39 +132,62 @@ jobs:
117
132
if : ${{ inputs.run-tests }}
118
133
run : ctest --output-on-failure --parallel $(nproc)
119
134
working-directory : ${{ github.workspace }}/build/linux/riscv64
135
+
120
136
cmake-linux-riscv64-rvv :
121
- runs-on : ubuntu-22 .04-16core
137
+ runs-on : ' ubuntu-24 .04-16core'
122
138
timeout-minutes : 60
123
139
steps :
124
140
- uses : actions/checkout@v4
125
141
- name : Update apt
126
- run : sudo apt update
142
+ run : |
143
+ echo 'set man-db/auto-update false' | sudo debconf-communicate >/dev/null
144
+ sudo dpkg-reconfigure man-db
145
+ sudo apt update
127
146
- name : Install ninja
128
147
run : sudo apt install ninja-build
129
148
- name : Download and Install riscv64 cross-toolchain tarball
130
149
run : |
131
- wget -nv https://github.com/riscv-collab/riscv-gnu-toolchain/releases/download/2024.09.03 /riscv64-glibc-ubuntu-22 .04-llvm-nightly-2024.09.03 -nightly.tar.gz
132
- tar xzf riscv64-glibc-ubuntu-22 .04-llvm-nightly-2024.09.03 -nightly.tar.gz
150
+ wget -nv https://github.com/riscv-collab/riscv-gnu-toolchain/releases/download/2025.01.20 /riscv64-glibc-ubuntu-24 .04-llvm-nightly-2025.01.20 -nightly.tar.xz
151
+ tar xJf riscv64-glibc-ubuntu-24 .04-llvm-nightly-2025.01.20 -nightly.tar.xz
133
152
working-directory : ${{ github.workspace }}
134
153
- name : Setup ccache
135
154
uses :
hendrikmuhs/[email protected]
136
155
with :
137
156
key : ${{ github.job }}
138
157
max-size : " 500M"
139
158
save : ${{ inputs.update-caches }}
159
+ - name : Check for cached qemu build
160
+ id : cached-qemu
161
+ uses : actions/cache@v4
162
+ with :
163
+ path : ${{ github.workspace }}/bin/qemu-riscv64
164
+ key : ${{ runner.os }}-qemu-riscv64
165
+ - name : Download and build qemu-riscv64
166
+ if : steps.cached-qemu.outputs.cache-hit != 'true'
167
+ run : |
168
+ sudo apt install libglib2.0-dev
169
+ mkdir bin
170
+ wget -nv https://download.qemu.org/qemu-9.2.2.tar.xz
171
+ tar xJf qemu-9.2.2.tar.xz
172
+ cd qemu-9.2.2
173
+ ./configure --target-list=riscv64-linux-user --static
174
+ make -j $(nproc)
175
+ cp build/qemu-riscv64 ../bin/
176
+ working-directory : ${{ github.workspace }}
140
177
- name : Configure and build
141
178
run : |
142
179
scripts/build-linux-riscv64.sh \
143
180
-DCMAKE_BUILD_TYPE=Release \
144
181
-DXNNPACK_ENABLE_RISCV_VECTOR=ON \
145
182
-DUSE_GNU_SOURCE=ON \
146
183
-DRISCV_TOOLCHAIN_ROOT=${{ github.workspace }}/riscv/ \
147
- -DRISCV_QEMU_ROOT=${{ github.workspace }}/riscv/
184
+ -DRISCV_QEMU_ROOT=${{ github.workspace }}
148
185
working-directory : ${{ github.workspace }}
149
186
- name : Run tests (no operator tests)
150
187
if : ${{ inputs.run-tests }}
151
- run : ctest --output-on-failure -LE operator --parallel $(nproc)
188
+ run : ctest --output-on-failure --label-exclude operator --parallel $(nproc)
152
189
working-directory : ${{ github.workspace }}/build/linux/riscv64
190
+
153
191
cmake-windows-arm64 :
154
192
runs-on : windows-2022-32core
155
193
timeout-minutes : 60
@@ -174,6 +212,7 @@ jobs:
174
212
env :
175
213
CFLAGS : " /UNDEBUG"
176
214
CXXFLAGS : " /UNDEBUG"
215
+
177
216
cmake-windows-x64 :
178
217
runs-on : windows-2022-32core
179
218
timeout-minutes : 60
@@ -202,6 +241,7 @@ jobs:
202
241
if : ${{ inputs.run-tests }}
203
242
run : ctest -C Release --output-on-failure --parallel $NUMBER_OF_PROCESSORS
204
243
working-directory : ${{ github.workspace }}/build/windows/x64
244
+
205
245
cmake-windows-x86 :
206
246
runs-on : windows-2022-32core
207
247
timeout-minutes : 60
@@ -230,6 +270,7 @@ jobs:
230
270
if : ${{ inputs.run-tests }}
231
271
run : ctest -C Release --output-on-failure --parallel $NUMBER_OF_PROCESSORS
232
272
working-directory : ${{ github.workspace }}/build/windows/x86
273
+
233
274
cmake-macos-arm64 :
234
275
runs-on : macos-latest
235
276
timeout-minutes : 60
@@ -262,16 +303,20 @@ jobs:
262
303
build/macos/arm64 \
263
304
-j$((2*$(sysctl -n hw.ncpu)))
264
305
working-directory : ${{ github.workspace }}
306
+
265
307
cmake-android :
266
308
strategy :
267
309
matrix :
268
310
arch : [arm64, armv7, x86]
269
- runs-on : ubuntu-22 .04-8core
311
+ runs-on : ' ubuntu-24 .04-8core'
270
312
timeout-minutes : 60
271
313
steps :
272
314
- uses : actions/checkout@v4
273
315
- name : Update apt
274
- run : sudo apt update
316
+ run : |
317
+ echo 'set man-db/auto-update false' | sudo debconf-communicate >/dev/null
318
+ sudo dpkg-reconfigure man-db
319
+ sudo apt update
275
320
- name : Install ninja
276
321
run : sudo apt install ninja-build
277
322
- name : Setup Android NDK
@@ -300,6 +345,7 @@ jobs:
300
345
working-directory : ${{ github.workspace }}
301
346
env :
302
347
ANDROID_NDK : ${{ steps.setup-ndk.outputs.ndk-path }}
348
+
303
349
cmake-ios-arm64 :
304
350
runs-on : macos-latest
305
351
timeout-minutes : 60
@@ -314,6 +360,7 @@ jobs:
314
360
- name : Build with Xcode
315
361
run : cmake --build build/ios/arm64 --parallel $(sysctl -n hw.ncpu) -- -quiet
316
362
working-directory : ${{ github.workspace }}
363
+
317
364
cmake-ios-x86_64 :
318
365
runs-on : macos-latest
319
366
timeout-minutes : 60
@@ -328,13 +375,17 @@ jobs:
328
375
- name : Build with Xcode
329
376
run : cmake --build build/ios/x86_64 --parallel $(sysctl -n hw.ncpu) -- -sdk iphonesimulator -quiet
330
377
working-directory : ${{ github.workspace }}
378
+
331
379
bazel-linux-x86_64-clang-18 :
332
- runs-on : ubuntu-22 .04-8core
380
+ runs-on : ' ubuntu-24 .04-8core'
333
381
timeout-minutes : 60
334
382
steps :
335
383
- uses : actions/checkout@v4
336
384
- name : Update apt
337
- run : sudo apt update
385
+ run : |
386
+ echo 'set man-db/auto-update false' | sudo debconf-communicate >/dev/null
387
+ sudo dpkg-reconfigure man-db
388
+ sudo apt update
338
389
- name : Install clang-18
339
390
working-directory : ${{ github.workspace }}
340
391
run : |
@@ -374,8 +425,9 @@ jobs:
374
425
with :
375
426
path : " /home/runner/.cache/bazel"
376
427
key : ${{ github.job }}-${{ github.sha }}
428
+
377
429
bazel-linux-x86_64-gcc-9 :
378
- runs-on : ubuntu-22 .04-8core
430
+ runs-on : ' ubuntu-24 .04-8core'
379
431
timeout-minutes : 60
380
432
env :
381
433
CC : gcc-9
@@ -384,7 +436,10 @@ jobs:
384
436
steps :
385
437
- uses : actions/checkout@v4
386
438
- name : Update apt
387
- run : sudo apt update
439
+ run : |
440
+ echo 'set man-db/auto-update false' | sudo debconf-communicate >/dev/null
441
+ sudo dpkg-reconfigure man-db
442
+ sudo apt update
388
443
- name : Install gcc-9
389
444
working-directory : ${{ github.workspace }}
390
445
run : |
@@ -416,13 +471,17 @@ jobs:
416
471
with :
417
472
path : " /home/runner/.cache/bazel"
418
473
key : ${{ github.job }}-${{ github.sha }}
474
+
419
475
bazel-linux-aarch64-clang18 :
420
476
runs-on : arm-ubuntu-arm-22.04-4core
421
477
timeout-minutes : 60
422
478
steps :
423
479
- uses : actions/checkout@v4
424
480
- name : Update apt
425
- run : sudo apt update
481
+ run : |
482
+ echo 'set man-db/auto-update false' | sudo debconf-communicate >/dev/null
483
+ sudo dpkg-reconfigure man-db
484
+ sudo apt update
426
485
- name : Install clang-18
427
486
working-directory : ${{ github.workspace }}
428
487
run : |
@@ -454,8 +513,8 @@ jobs:
454
513
--test_output=all \
455
514
--test_filter=*QP8* \
456
515
test:qp8_f32_qc4w_gemm_minmax_test \
457
- test:fully_connected_nc_test \
458
- test:fully_connected_test
516
+ test/operators :fully_connected_nc_test \
517
+ test/subgraph :fully_connected_test
459
518
working-directory : ${{ github.workspace }}
460
519
- name : Compress disk cache
461
520
# Bazel's `--disk-cache` currently grows without bounds, so we remove files
@@ -468,6 +527,7 @@ jobs:
468
527
with :
469
528
path : " /home/runner/.cache/bazel"
470
529
key : ${{ github.job }}-${{ github.sha }}
530
+
471
531
bazel-linux-aarch64-gcc13 :
472
532
# This ensures we have solid test coverage for _Float16
473
533
runs-on : arm-ubuntu-arm-22.04-4core
@@ -509,8 +569,8 @@ jobs:
509
569
--test_output=all \
510
570
--test_filter=*QP8* \
511
571
test:qp8_f32_qc4w_gemm_minmax_test \
512
- test:fully_connected_nc_test \
513
- test:fully_connected_test
572
+ test/operators :fully_connected_nc_test \
573
+ test/subgraph :fully_connected_test
514
574
working-directory : ${{ github.workspace }}
515
575
- name : Compress disk cache
516
576
# Bazel's `--disk-cache` currently grows without bounds, so we remove files
0 commit comments