]>
Commit | Line | Data |
---|---|---|
f2f5c3e6 PMD |
1 | include: |
2 | - local: '/.gitlab-ci.d/buildtest-template.yml' | |
3 | ||
4 | build-system-alpine: | |
88b19e4e AB |
5 | extends: |
6 | - .native_build_job_template | |
7 | - .native_build_artifact_template | |
f2f5c3e6 PMD |
8 | needs: |
9 | - job: amd64-alpine-container | |
10 | variables: | |
11 | IMAGE: alpine | |
d4f784c5 | 12 | TARGETS: avr-softmmu loongarch64-softmmu mips64-softmmu mipsel-softmmu |
f2f5c3e6 PMD |
13 | MAKE_CHECK_ARGS: check-build |
14 | CONFIGURE_ARGS: --enable-docs --enable-trace-backends=log,simple,syslog | |
f2f5c3e6 PMD |
15 | |
16 | check-system-alpine: | |
17 | extends: .native_test_job_template | |
18 | needs: | |
19 | - job: build-system-alpine | |
20 | artifacts: true | |
21 | variables: | |
22 | IMAGE: alpine | |
f178c62a | 23 | MAKE_CHECK_ARGS: check-unit check-qtest |
f2f5c3e6 | 24 | |
bbbd9b6e WR |
25 | avocado-system-alpine: |
26 | extends: .avocado_test_job_template | |
f2f5c3e6 PMD |
27 | needs: |
28 | - job: build-system-alpine | |
29 | artifacts: true | |
30 | variables: | |
31 | IMAGE: alpine | |
bbbd9b6e | 32 | MAKE_CHECK_ARGS: check-avocado |
78ebc00b | 33 | AVOCADO_TAGS: arch:avr arch:loongarch64 arch:mips64 arch:mipsel |
f2f5c3e6 PMD |
34 | |
35 | build-system-ubuntu: | |
88b19e4e AB |
36 | extends: |
37 | - .native_build_job_template | |
38 | - .native_build_artifact_template | |
f2f5c3e6 | 39 | needs: |
171080d8 | 40 | job: amd64-ubuntu2204-container |
f2f5c3e6 | 41 | variables: |
171080d8 | 42 | IMAGE: ubuntu2204 |
eda2321d | 43 | CONFIGURE_ARGS: --enable-docs |
78ebc00b | 44 | TARGETS: alpha-softmmu microblazeel-softmmu mips64el-softmmu |
f2f5c3e6 | 45 | MAKE_CHECK_ARGS: check-build |
f2f5c3e6 PMD |
46 | |
47 | check-system-ubuntu: | |
48 | extends: .native_test_job_template | |
49 | needs: | |
50 | - job: build-system-ubuntu | |
51 | artifacts: true | |
52 | variables: | |
171080d8 | 53 | IMAGE: ubuntu2204 |
f2f5c3e6 PMD |
54 | MAKE_CHECK_ARGS: check |
55 | ||
bbbd9b6e WR |
56 | avocado-system-ubuntu: |
57 | extends: .avocado_test_job_template | |
f2f5c3e6 PMD |
58 | needs: |
59 | - job: build-system-ubuntu | |
60 | artifacts: true | |
61 | variables: | |
171080d8 | 62 | IMAGE: ubuntu2204 |
bbbd9b6e | 63 | MAKE_CHECK_ARGS: check-avocado |
78ebc00b | 64 | AVOCADO_TAGS: arch:alpha arch:microblaze arch:mips64el |
f2f5c3e6 PMD |
65 | |
66 | build-system-debian: | |
88b19e4e AB |
67 | extends: |
68 | - .native_build_job_template | |
69 | - .native_build_artifact_template | |
f2f5c3e6 PMD |
70 | needs: |
71 | job: amd64-debian-container | |
72 | variables: | |
73 | IMAGE: debian-amd64 | |
2f5a375f | 74 | CONFIGURE_ARGS: --with-coroutine=sigaltstack |
d4f784c5 | 75 | TARGETS: arm-softmmu i386-softmmu riscv64-softmmu sh4eb-softmmu |
78ebc00b | 76 | sparc-softmmu xtensa-softmmu |
f2f5c3e6 | 77 | MAKE_CHECK_ARGS: check-build |
f2f5c3e6 PMD |
78 | |
79 | check-system-debian: | |
80 | extends: .native_test_job_template | |
81 | needs: | |
82 | - job: build-system-debian | |
83 | artifacts: true | |
84 | variables: | |
85 | IMAGE: debian-amd64 | |
86 | MAKE_CHECK_ARGS: check | |
87 | ||
bbbd9b6e WR |
88 | avocado-system-debian: |
89 | extends: .avocado_test_job_template | |
f2f5c3e6 PMD |
90 | needs: |
91 | - job: build-system-debian | |
92 | artifacts: true | |
93 | variables: | |
94 | IMAGE: debian-amd64 | |
bbbd9b6e | 95 | MAKE_CHECK_ARGS: check-avocado |
78ebc00b | 96 | AVOCADO_TAGS: arch:arm arch:i386 arch:riscv64 arch:sh4 arch:sparc arch:xtensa |
f2f5c3e6 | 97 | |
f462be4c TH |
98 | crash-test-debian: |
99 | extends: .native_test_job_template | |
100 | needs: | |
101 | - job: build-system-debian | |
102 | artifacts: true | |
103 | variables: | |
104 | IMAGE: debian-amd64 | |
105 | script: | |
106 | - cd build | |
4d3bd91b | 107 | - make NINJA=":" check-venv |
c03f57fd | 108 | - pyvenv/bin/python3 scripts/device-crash-test -q --tcg-only ./qemu-system-i386 |
f462be4c | 109 | |
f2f5c3e6 | 110 | build-system-fedora: |
88b19e4e AB |
111 | extends: |
112 | - .native_build_job_template | |
113 | - .native_build_artifact_template | |
f2f5c3e6 PMD |
114 | needs: |
115 | job: amd64-fedora-container | |
116 | variables: | |
117 | IMAGE: fedora | |
118 | CONFIGURE_ARGS: --disable-gcrypt --enable-nettle --enable-docs | |
78ebc00b | 119 | TARGETS: microblaze-softmmu mips-softmmu |
f2f5c3e6 PMD |
120 | xtensa-softmmu m68k-softmmu riscv32-softmmu ppc-softmmu sparc64-softmmu |
121 | MAKE_CHECK_ARGS: check-build | |
f2f5c3e6 PMD |
122 | |
123 | check-system-fedora: | |
124 | extends: .native_test_job_template | |
125 | needs: | |
126 | - job: build-system-fedora | |
127 | artifacts: true | |
128 | variables: | |
129 | IMAGE: fedora | |
130 | MAKE_CHECK_ARGS: check | |
131 | ||
bbbd9b6e WR |
132 | avocado-system-fedora: |
133 | extends: .avocado_test_job_template | |
f2f5c3e6 PMD |
134 | needs: |
135 | - job: build-system-fedora | |
136 | artifacts: true | |
137 | variables: | |
138 | IMAGE: fedora | |
bbbd9b6e | 139 | MAKE_CHECK_ARGS: check-avocado |
78ebc00b AB |
140 | AVOCADO_TAGS: arch:microblaze arch:mips arch:xtensa arch:m68k |
141 | arch:riscv32 arch:ppc arch:sparc64 | |
f2f5c3e6 | 142 | |
f462be4c TH |
143 | crash-test-fedora: |
144 | extends: .native_test_job_template | |
145 | needs: | |
146 | - job: build-system-fedora | |
147 | artifacts: true | |
148 | variables: | |
149 | IMAGE: fedora | |
150 | script: | |
151 | - cd build | |
4d3bd91b | 152 | - make NINJA=":" check-venv |
c03f57fd PB |
153 | - pyvenv/bin/python3 scripts/device-crash-test -q ./qemu-system-ppc |
154 | - pyvenv/bin/python3 scripts/device-crash-test -q ./qemu-system-riscv32 | |
f462be4c | 155 | |
f2f5c3e6 | 156 | build-system-centos: |
88b19e4e AB |
157 | extends: |
158 | - .native_build_job_template | |
159 | - .native_build_artifact_template | |
f2f5c3e6 PMD |
160 | needs: |
161 | job: amd64-centos8-container | |
162 | variables: | |
163 | IMAGE: centos8 | |
eda2321d | 164 | CONFIGURE_ARGS: --disable-nettle --enable-gcrypt --enable-vfio-user-server |
4cc75ce6 | 165 | --enable-modules --enable-trace-backends=dtrace --enable-docs |
f2f5c3e6 PMD |
166 | TARGETS: ppc64-softmmu or1k-softmmu s390x-softmmu |
167 | x86_64-softmmu rx-softmmu sh4-softmmu nios2-softmmu | |
168 | MAKE_CHECK_ARGS: check-build | |
f2f5c3e6 PMD |
169 | |
170 | check-system-centos: | |
171 | extends: .native_test_job_template | |
172 | needs: | |
173 | - job: build-system-centos | |
174 | artifacts: true | |
175 | variables: | |
176 | IMAGE: centos8 | |
177 | MAKE_CHECK_ARGS: check | |
178 | ||
bbbd9b6e WR |
179 | avocado-system-centos: |
180 | extends: .avocado_test_job_template | |
f2f5c3e6 PMD |
181 | needs: |
182 | - job: build-system-centos | |
183 | artifacts: true | |
184 | variables: | |
185 | IMAGE: centos8 | |
bbbd9b6e | 186 | MAKE_CHECK_ARGS: check-avocado |
78ebc00b AB |
187 | AVOCADO_TAGS: arch:ppc64 arch:or1k arch:390x arch:x86_64 arch:rx |
188 | arch:sh4 arch:nios2 | |
f2f5c3e6 PMD |
189 | |
190 | build-system-opensuse: | |
88b19e4e AB |
191 | extends: |
192 | - .native_build_job_template | |
193 | - .native_build_artifact_template | |
f2f5c3e6 PMD |
194 | needs: |
195 | job: amd64-opensuse-leap-container | |
196 | variables: | |
197 | IMAGE: opensuse-leap | |
f2f5c3e6 PMD |
198 | TARGETS: s390x-softmmu x86_64-softmmu aarch64-softmmu |
199 | MAKE_CHECK_ARGS: check-build | |
f2f5c3e6 PMD |
200 | |
201 | check-system-opensuse: | |
202 | extends: .native_test_job_template | |
203 | needs: | |
204 | - job: build-system-opensuse | |
205 | artifacts: true | |
206 | variables: | |
207 | IMAGE: opensuse-leap | |
208 | MAKE_CHECK_ARGS: check | |
209 | ||
bbbd9b6e WR |
210 | avocado-system-opensuse: |
211 | extends: .avocado_test_job_template | |
f2f5c3e6 PMD |
212 | needs: |
213 | - job: build-system-opensuse | |
214 | artifacts: true | |
215 | variables: | |
216 | IMAGE: opensuse-leap | |
bbbd9b6e | 217 | MAKE_CHECK_ARGS: check-avocado |
78ebc00b | 218 | AVOCADO_TAGS: arch:s390x arch:x86_64 arch:aarch64 |
f2f5c3e6 PMD |
219 | |
220 | ||
f2f5c3e6 PMD |
221 | # This jobs explicitly disable TCG (--disable-tcg), KVM is detected by |
222 | # the configure script. The container doesn't contain Xen headers so | |
223 | # Xen accelerator is not detected / selected. As result it build the | |
224 | # i386-softmmu and x86_64-softmmu with KVM being the single accelerator | |
225 | # available. | |
226 | # Also use a different coroutine implementation (which is only really of | |
227 | # interest to KVM users, i.e. with TCG disabled) | |
228 | build-tcg-disabled: | |
229 | extends: .native_build_job_template | |
230 | needs: | |
231 | job: amd64-centos8-container | |
232 | variables: | |
233 | IMAGE: centos8 | |
234 | script: | |
235 | - mkdir build | |
236 | - cd build | |
237 | - ../configure --disable-tcg --audio-drv-list="" --with-coroutine=ucontext | |
3b4f9119 | 238 | --disable-docs --disable-sdl --disable-gtk --disable-vnc |
f2f5c3e6 PMD |
239 | || { cat config.log meson-logs/meson-log.txt && exit 1; } |
240 | - make -j"$JOBS" | |
241 | - make check-unit | |
242 | - make check-qapi-schema | |
243 | - cd tests/qemu-iotests/ | |
244 | - ./check -raw 001 002 003 004 005 008 009 010 011 012 021 025 032 033 048 | |
245 | 052 063 077 086 101 104 106 113 148 150 151 152 157 159 160 163 | |
c88f0789 | 246 | 170 171 183 184 192 194 208 221 226 227 236 253 277 image-fleecing |
f2f5c3e6 | 247 | - ./check -qcow2 028 051 056 057 058 065 068 082 085 091 095 096 102 122 |
db1e1192 | 248 | 124 132 139 142 144 145 151 152 155 157 165 194 196 200 202 |
c88f0789 VSO |
249 | 208 209 216 218 227 234 246 247 248 250 254 255 257 258 |
250 | 260 261 262 263 264 270 272 273 277 279 image-fleecing | |
f2f5c3e6 PMD |
251 | |
252 | build-user: | |
253 | extends: .native_build_job_template | |
254 | needs: | |
255 | job: amd64-debian-user-cross-container | |
256 | variables: | |
257 | IMAGE: debian-all-test-cross | |
258 | CONFIGURE_ARGS: --disable-tools --disable-system | |
259 | MAKE_CHECK_ARGS: check-tcg | |
260 | ||
261 | build-user-static: | |
262 | extends: .native_build_job_template | |
263 | needs: | |
264 | job: amd64-debian-user-cross-container | |
265 | variables: | |
266 | IMAGE: debian-all-test-cross | |
267 | CONFIGURE_ARGS: --disable-tools --disable-system --static | |
268 | MAKE_CHECK_ARGS: check-tcg | |
269 | ||
f2f5c3e6 PMD |
270 | build-user-hexagon: |
271 | extends: .native_build_job_template | |
272 | needs: | |
273 | job: hexagon-cross-container | |
f2f5c3e6 PMD |
274 | variables: |
275 | IMAGE: debian-hexagon-cross | |
276 | TARGETS: hexagon-linux-user | |
277 | CONFIGURE_ARGS: --disable-tools --disable-docs --enable-debug-tcg | |
278 | MAKE_CHECK_ARGS: check-tcg | |
279 | ||
280 | # Only build the softmmu targets we have check-tcg tests for | |
281 | build-some-softmmu: | |
282 | extends: .native_build_job_template | |
283 | needs: | |
284 | job: amd64-debian-user-cross-container | |
285 | variables: | |
286 | IMAGE: debian-all-test-cross | |
287 | CONFIGURE_ARGS: --disable-tools --enable-debug | |
288 | TARGETS: xtensa-softmmu arm-softmmu aarch64-softmmu alpha-softmmu | |
289 | MAKE_CHECK_ARGS: check-tcg | |
290 | ||
39ce9237 AB |
291 | # We build tricore in a very minimal tricore only container |
292 | build-tricore-softmmu: | |
293 | extends: .native_build_job_template | |
294 | needs: | |
295 | job: tricore-debian-cross-container | |
296 | variables: | |
297 | IMAGE: debian-tricore-cross | |
298 | CONFIGURE_ARGS: --disable-tools --disable-fdt --enable-debug | |
299 | TARGETS: tricore-softmmu | |
300 | MAKE_CHECK_ARGS: check-tcg | |
301 | ||
f2f5c3e6 PMD |
302 | clang-system: |
303 | extends: .native_build_job_template | |
304 | needs: | |
305 | job: amd64-fedora-container | |
306 | variables: | |
307 | IMAGE: fedora | |
308 | CONFIGURE_ARGS: --cc=clang --cxx=clang++ | |
309 | --extra-cflags=-fsanitize=undefined --extra-cflags=-fno-sanitize-recover=undefined | |
7c4f7150 | 310 | TARGETS: alpha-softmmu arm-softmmu m68k-softmmu mips64-softmmu s390x-softmmu |
f2f5c3e6 PMD |
311 | MAKE_CHECK_ARGS: check-qtest check-tcg |
312 | ||
313 | clang-user: | |
314 | extends: .native_build_job_template | |
315 | needs: | |
316 | job: amd64-debian-user-cross-container | |
765de32d | 317 | timeout: 70m |
f2f5c3e6 PMD |
318 | variables: |
319 | IMAGE: debian-all-test-cross | |
320 | CONFIGURE_ARGS: --cc=clang --cxx=clang++ --disable-system | |
321 | --target-list-exclude=microblazeel-linux-user,aarch64_be-linux-user,i386-linux-user,m68k-linux-user,mipsn32el-linux-user,xtensaeb-linux-user | |
322 | --extra-cflags=-fsanitize=undefined --extra-cflags=-fno-sanitize-recover=undefined | |
323 | MAKE_CHECK_ARGS: check-unit check-tcg | |
324 | ||
325 | # Set LD_JOBS=1 because this requires LTO and ld consumes a large amount of memory. | |
326 | # On gitlab runners, default value sometimes end up calling 2 lds concurrently and | |
327 | # triggers an Out-Of-Memory error | |
328 | # | |
5890258a TH |
329 | # Since slirp callbacks are used in QEMU Timers, we cannot use libslirp with |
330 | # CFI builds, and thus have to disable it here. | |
f2f5c3e6 | 331 | # |
bbbd9b6e | 332 | # Split in three sets of build/check/avocado to limit the execution time of each |
f2f5c3e6 PMD |
333 | # job |
334 | build-cfi-aarch64: | |
88b19e4e AB |
335 | extends: |
336 | - .native_build_job_template | |
337 | - .native_build_artifact_template | |
f2f5c3e6 PMD |
338 | needs: |
339 | - job: amd64-fedora-container | |
340 | variables: | |
341 | LD_JOBS: 1 | |
342 | AR: llvm-ar | |
343 | IMAGE: fedora | |
344 | CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi --enable-cfi-debug | |
5890258a | 345 | --enable-safe-stack --disable-slirp |
f2f5c3e6 PMD |
346 | TARGETS: aarch64-softmmu |
347 | MAKE_CHECK_ARGS: check-build | |
e37264eb TH |
348 | # FIXME: This job is often failing, likely due to out-of-memory problems in |
349 | # the constrained containers of the shared runners. Thus this is marked as | |
e312d1fd DB |
350 | # skipped until the situation has been solved. |
351 | QEMU_JOB_SKIPPED: 1 | |
72ec89bf | 352 | timeout: 90m |
f2f5c3e6 PMD |
353 | |
354 | check-cfi-aarch64: | |
355 | extends: .native_test_job_template | |
356 | needs: | |
357 | - job: build-cfi-aarch64 | |
358 | artifacts: true | |
359 | variables: | |
360 | IMAGE: fedora | |
361 | MAKE_CHECK_ARGS: check | |
362 | ||
bbbd9b6e WR |
363 | avocado-cfi-aarch64: |
364 | extends: .avocado_test_job_template | |
f2f5c3e6 PMD |
365 | needs: |
366 | - job: build-cfi-aarch64 | |
367 | artifacts: true | |
368 | variables: | |
369 | IMAGE: fedora | |
bbbd9b6e | 370 | MAKE_CHECK_ARGS: check-avocado |
f2f5c3e6 PMD |
371 | |
372 | build-cfi-ppc64-s390x: | |
88b19e4e AB |
373 | extends: |
374 | - .native_build_job_template | |
375 | - .native_build_artifact_template | |
f2f5c3e6 PMD |
376 | needs: |
377 | - job: amd64-fedora-container | |
378 | variables: | |
379 | LD_JOBS: 1 | |
380 | AR: llvm-ar | |
381 | IMAGE: fedora | |
382 | CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi --enable-cfi-debug | |
5890258a | 383 | --enable-safe-stack --disable-slirp |
f2f5c3e6 PMD |
384 | TARGETS: ppc64-softmmu s390x-softmmu |
385 | MAKE_CHECK_ARGS: check-build | |
e37264eb TH |
386 | # FIXME: This job is often failing, likely due to out-of-memory problems in |
387 | # the constrained containers of the shared runners. Thus this is marked as | |
e312d1fd DB |
388 | # skipped until the situation has been solved. |
389 | QEMU_JOB_SKIPPED: 1 | |
72ec89bf | 390 | timeout: 80m |
f2f5c3e6 PMD |
391 | |
392 | check-cfi-ppc64-s390x: | |
393 | extends: .native_test_job_template | |
394 | needs: | |
395 | - job: build-cfi-ppc64-s390x | |
396 | artifacts: true | |
397 | variables: | |
398 | IMAGE: fedora | |
399 | MAKE_CHECK_ARGS: check | |
400 | ||
bbbd9b6e WR |
401 | avocado-cfi-ppc64-s390x: |
402 | extends: .avocado_test_job_template | |
f2f5c3e6 PMD |
403 | needs: |
404 | - job: build-cfi-ppc64-s390x | |
405 | artifacts: true | |
406 | variables: | |
407 | IMAGE: fedora | |
bbbd9b6e | 408 | MAKE_CHECK_ARGS: check-avocado |
f2f5c3e6 PMD |
409 | |
410 | build-cfi-x86_64: | |
88b19e4e AB |
411 | extends: |
412 | - .native_build_job_template | |
413 | - .native_build_artifact_template | |
f2f5c3e6 PMD |
414 | needs: |
415 | - job: amd64-fedora-container | |
416 | variables: | |
417 | LD_JOBS: 1 | |
418 | AR: llvm-ar | |
419 | IMAGE: fedora | |
420 | CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi --enable-cfi-debug | |
5890258a | 421 | --enable-safe-stack --disable-slirp |
f2f5c3e6 PMD |
422 | TARGETS: x86_64-softmmu |
423 | MAKE_CHECK_ARGS: check-build | |
424 | timeout: 70m | |
f2f5c3e6 PMD |
425 | |
426 | check-cfi-x86_64: | |
427 | extends: .native_test_job_template | |
428 | needs: | |
429 | - job: build-cfi-x86_64 | |
430 | artifacts: true | |
431 | variables: | |
432 | IMAGE: fedora | |
433 | MAKE_CHECK_ARGS: check | |
434 | ||
bbbd9b6e WR |
435 | avocado-cfi-x86_64: |
436 | extends: .avocado_test_job_template | |
f2f5c3e6 PMD |
437 | needs: |
438 | - job: build-cfi-x86_64 | |
439 | artifacts: true | |
440 | variables: | |
441 | IMAGE: fedora | |
bbbd9b6e | 442 | MAKE_CHECK_ARGS: check-avocado |
f2f5c3e6 PMD |
443 | |
444 | tsan-build: | |
445 | extends: .native_build_job_template | |
446 | needs: | |
171080d8 | 447 | job: amd64-ubuntu2204-container |
f2f5c3e6 | 448 | variables: |
171080d8 AB |
449 | IMAGE: ubuntu2204 |
450 | CONFIGURE_ARGS: --enable-tsan --cc=clang --cxx=clang++ | |
eda2321d | 451 | --enable-trace-backends=ust --disable-slirp |
f2f5c3e6 | 452 | TARGETS: x86_64-softmmu ppc64-softmmu riscv64-softmmu x86_64-linux-user |
f2f5c3e6 | 453 | |
bb9ecae7 AB |
454 | # gcov is a GCC features |
455 | gcov: | |
f2f5c3e6 PMD |
456 | extends: .native_build_job_template |
457 | needs: | |
171080d8 | 458 | job: amd64-ubuntu2204-container |
bb9ecae7 | 459 | timeout: 80m |
f2f5c3e6 | 460 | variables: |
171080d8 | 461 | IMAGE: ubuntu2204 |
bb9ecae7 | 462 | CONFIGURE_ARGS: --enable-gcov |
f2f5c3e6 | 463 | TARGETS: aarch64-softmmu ppc64-softmmu s390x-softmmu x86_64-softmmu |
dc389ce1 | 464 | MAKE_CHECK_ARGS: check-unit check-softfloat |
f2f5c3e6 | 465 | after_script: |
5544d33d AB |
466 | - cd build |
467 | - gcovr --xml-pretty --exclude-unreachable-branches --print-summary | |
468 | -o coverage.xml --root ${CI_PROJECT_DIR} . *.p | |
469 | coverage: /^\s*lines:\s*\d+.\d+\%/ | |
470 | artifacts: | |
471 | name: ${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHA} | |
dcb242c8 | 472 | when: always |
5544d33d | 473 | expire_in: 2 days |
dcb242c8 DB |
474 | paths: |
475 | - build/meson-logs/testlog.txt | |
5544d33d | 476 | reports: |
dcb242c8 | 477 | junit: build/meson-logs/testlog.junit.xml |
5544d33d AB |
478 | coverage_report: |
479 | coverage_format: cobertura | |
480 | path: build/coverage.xml | |
f2f5c3e6 PMD |
481 | |
482 | build-oss-fuzz: | |
483 | extends: .native_build_job_template | |
484 | needs: | |
485 | job: amd64-fedora-container | |
486 | variables: | |
487 | IMAGE: fedora | |
488 | script: | |
489 | - mkdir build-oss-fuzz | |
3ab8bf83 | 490 | - export LSAN_OPTIONS=suppressions=scripts/oss-fuzz/lsan_suppressions.txt |
f2f5c3e6 PMD |
491 | - CC="clang" CXX="clang++" CFLAGS="-fsanitize=address" |
492 | ./scripts/oss-fuzz/build.sh | |
493 | - export ASAN_OPTIONS="fast_unwind_on_malloc=0" | |
494 | - for fuzzer in $(find ./build-oss-fuzz/DEST_DIR/ -executable -type f | |
495 | | grep -v slirp); do | |
496 | grep "LLVMFuzzerTestOneInput" ${fuzzer} > /dev/null 2>&1 || continue ; | |
497 | echo Testing ${fuzzer} ... ; | |
498 | "${fuzzer}" -runs=1 -seed=1 || exit 1 ; | |
499 | done | |
f2f5c3e6 PMD |
500 | |
501 | build-tci: | |
502 | extends: .native_build_job_template | |
503 | needs: | |
504 | job: amd64-debian-user-cross-container | |
505 | variables: | |
506 | IMAGE: debian-all-test-cross | |
507 | script: | |
508 | - TARGETS="aarch64 alpha arm hppa m68k microblaze ppc64 s390x x86_64" | |
509 | - mkdir build | |
510 | - cd build | |
3b4f9119 TH |
511 | - ../configure --enable-tcg-interpreter --disable-docs --disable-gtk --disable-vnc |
512 | --target-list="$(for tg in $TARGETS; do echo -n ${tg}'-softmmu '; done)" | |
513 | || { cat config.log meson-logs/meson-log.txt && exit 1; } | |
f2f5c3e6 PMD |
514 | - make -j"$JOBS" |
515 | - make tests/qtest/boot-serial-test tests/qtest/cdrom-test tests/qtest/pxe-test | |
516 | - for tg in $TARGETS ; do | |
517 | export QTEST_QEMU_BINARY="./qemu-system-${tg}" ; | |
518 | ./tests/qtest/boot-serial-test || exit 1 ; | |
519 | ./tests/qtest/cdrom-test || exit 1 ; | |
520 | done | |
521 | - QTEST_QEMU_BINARY="./qemu-system-x86_64" ./tests/qtest/pxe-test | |
522 | - QTEST_QEMU_BINARY="./qemu-system-s390x" ./tests/qtest/pxe-test -m slow | |
523 | - make check-tcg | |
524 | ||
f2f5c3e6 | 525 | # Check our reduced build configurations |
e030d08c | 526 | build-without-defaults: |
f2f5c3e6 PMD |
527 | extends: .native_build_job_template |
528 | needs: | |
529 | job: amd64-centos8-container | |
530 | variables: | |
531 | IMAGE: centos8 | |
8d316275 | 532 | CONFIGURE_ARGS: |
e030d08c | 533 | --without-default-devices |
8d316275 | 534 | --without-default-features |
e030d08c | 535 | --disable-fdt |
8d316275 TH |
536 | --disable-pie |
537 | --disable-qom-cast-debug | |
8d316275 | 538 | --disable-strip |
e030d08c | 539 | TARGETS: avr-softmmu mips64-softmmu s390x-softmmu sh4-softmmu |
8d316275 | 540 | sparc64-softmmu hexagon-linux-user i386-linux-user s390x-linux-user |
bb6e4734 | 541 | MAKE_CHECK_ARGS: check |
f2f5c3e6 PMD |
542 | |
543 | build-libvhost-user: | |
e312d1fd | 544 | extends: .base_job_template |
f2f5c3e6 | 545 | stage: build |
d4c7a565 | 546 | image: $CI_REGISTRY_IMAGE/qemu/fedora:$QEMU_CI_CONTAINER_TAG |
f2f5c3e6 PMD |
547 | needs: |
548 | job: amd64-fedora-container | |
f2f5c3e6 PMD |
549 | script: |
550 | - mkdir subprojects/libvhost-user/build | |
551 | - cd subprojects/libvhost-user/build | |
552 | - meson | |
553 | - ninja | |
554 | ||
555 | # No targets are built here, just tools, docs, and unit tests. This | |
556 | # also feeds into the eventual documentation deployment steps later | |
557 | build-tools-and-docs-debian: | |
88b19e4e AB |
558 | extends: |
559 | - .native_build_job_template | |
560 | - .native_build_artifact_template | |
f2f5c3e6 PMD |
561 | needs: |
562 | job: amd64-debian-container | |
e312d1fd DB |
563 | # when running on 'master' we use pre-existing container |
564 | optional: true | |
f2f5c3e6 PMD |
565 | variables: |
566 | IMAGE: debian-amd64 | |
7630156d | 567 | MAKE_CHECK_ARGS: check-unit ctags TAGS cscope |
f2f5c3e6 | 568 | CONFIGURE_ARGS: --disable-system --disable-user --enable-docs --enable-tools |
e312d1fd | 569 | QEMU_JOB_PUBLISH: 1 |
f2f5c3e6 PMD |
570 | |
571 | # Prepare for GitLab pages deployment. Anything copied into the | |
572 | # "public" directory will be deployed to $USER.gitlab.io/$PROJECT | |
eafadbbb DB |
573 | # |
574 | # GitLab publishes from any branch that triggers a CI pipeline | |
575 | # | |
576 | # For the main repo we don't want to publish from 'staging' | |
577 | # since that content may not be pushed, nor do we wish to | |
578 | # publish from 'stable-NNN' branches as that content is outdated. | |
579 | # Thus we restrict to just the default branch | |
580 | # | |
581 | # For contributor forks we want to publish from any repo so | |
582 | # that users can see the results of their commits, regardless | |
583 | # of what topic branch they're currently using | |
f2f5c3e6 | 584 | pages: |
e312d1fd | 585 | extends: .base_job_template |
d4c7a565 | 586 | image: $CI_REGISTRY_IMAGE/qemu/debian-amd64:$QEMU_CI_CONTAINER_TAG |
f2f5c3e6 PMD |
587 | stage: test |
588 | needs: | |
589 | - job: build-tools-and-docs-debian | |
590 | script: | |
591 | - mkdir -p public | |
592 | # HTML-ised source tree | |
593 | - make gtags | |
594 | - htags -anT --tree-view=filetree -m qemu_init | |
595 | -t "Welcome to the QEMU sourcecode" | |
596 | - mv HTML public/src | |
597 | # Project documentation | |
598 | - make -C build install DESTDIR=$(pwd)/temp-install | |
599 | - mv temp-install/usr/local/share/doc/qemu/* public/ | |
600 | artifacts: | |
cef63308 | 601 | when: on_success |
f2f5c3e6 PMD |
602 | paths: |
603 | - public | |
e312d1fd DB |
604 | variables: |
605 | QEMU_JOB_PUBLISH: 1 |