]>
Commit | Line | Data |
---|---|---|
71920809 | 1 | include: |
07df3dfa | 2 | - local: '/.gitlab-ci.d/stages.yml' |
922febe2 TH |
3 | - local: '/.gitlab-ci.d/edk2.yml' |
4 | - local: '/.gitlab-ci.d/opensbi.yml' | |
fa821f23 | 5 | - local: '/.gitlab-ci.d/containers.yml' |
6bcb5fc0 | 6 | - local: '/.gitlab-ci.d/crossbuilds.yml' |
6cd5251b | 7 | - local: '/.gitlab-ci.d/buildtest-template.yml' |
f659e658 | 8 | - local: '/.gitlab-ci.d/static_checks.yml' |
71920809 | 9 | |
b22786ea | 10 | build-system-alpine: |
6683da09 | 11 | extends: .native_build_job_template |
9f3a24cf PMD |
12 | needs: |
13 | - job: amd64-alpine-container | |
b22786ea JY |
14 | variables: |
15 | IMAGE: alpine | |
16 | TARGETS: aarch64-softmmu alpha-softmmu cris-softmmu hppa-softmmu | |
875bb7e3 | 17 | microblazeel-softmmu mips64el-softmmu |
b22786ea | 18 | MAKE_CHECK_ARGS: check-build |
65aff820 | 19 | CONFIGURE_ARGS: --enable-docs --enable-trace-backends=log,simple,syslog |
b22786ea JY |
20 | artifacts: |
21 | expire_in: 2 days | |
22 | paths: | |
23 | - .git-submodule-status | |
24 | - build | |
25 | ||
26 | check-system-alpine: | |
e267ce59 | 27 | extends: .native_test_job_template |
b22786ea JY |
28 | needs: |
29 | - job: build-system-alpine | |
30 | artifacts: true | |
31 | variables: | |
32 | IMAGE: alpine | |
33 | MAKE_CHECK_ARGS: check | |
34 | ||
35 | acceptance-system-alpine: | |
a4b201d1 | 36 | extends: .acceptance_test_job_template |
b22786ea JY |
37 | needs: |
38 | - job: build-system-alpine | |
39 | artifacts: true | |
40 | variables: | |
41 | IMAGE: alpine | |
42 | MAKE_CHECK_ARGS: check-acceptance | |
b22786ea | 43 | |
699616db | 44 | build-system-ubuntu: |
6683da09 | 45 | extends: .native_build_job_template |
764a0747 DB |
46 | needs: |
47 | job: amd64-ubuntu2004-container | |
c962864f DB |
48 | variables: |
49 | IMAGE: ubuntu2004 | |
a9eb2df2 | 50 | CONFIGURE_ARGS: --enable-docs --enable-fdt=system --enable-slirp=system |
699616db | 51 | TARGETS: aarch64-softmmu alpha-softmmu cris-softmmu hppa-softmmu |
875bb7e3 | 52 | microblazeel-softmmu mips64el-softmmu |
a6eeac3b | 53 | MAKE_CHECK_ARGS: check-build |
c5008c76 | 54 | artifacts: |
0a796d63 | 55 | expire_in: 2 days |
c5008c76 AB |
56 | paths: |
57 | - build | |
58 | ||
699616db | 59 | check-system-ubuntu: |
e267ce59 | 60 | extends: .native_test_job_template |
c5008c76 | 61 | needs: |
699616db | 62 | - job: build-system-ubuntu |
c5008c76 AB |
63 | artifacts: true |
64 | variables: | |
65 | IMAGE: ubuntu2004 | |
c962864f | 66 | MAKE_CHECK_ARGS: check |
0a8b05c7 | 67 | |
699616db | 68 | acceptance-system-ubuntu: |
a4b201d1 | 69 | extends: .acceptance_test_job_template |
c5008c76 | 70 | needs: |
699616db | 71 | - job: build-system-ubuntu |
c5008c76 AB |
72 | artifacts: true |
73 | variables: | |
74 | IMAGE: ubuntu2004 | |
75 | MAKE_CHECK_ARGS: check-acceptance | |
c5008c76 | 76 | |
699616db | 77 | build-system-debian: |
6683da09 | 78 | extends: .native_build_job_template |
764a0747 DB |
79 | needs: |
80 | job: amd64-debian-container | |
699616db TH |
81 | variables: |
82 | IMAGE: debian-amd64 | |
db0108d5 | 83 | CONFIGURE_ARGS: --enable-fdt=system |
699616db TH |
84 | TARGETS: arm-softmmu avr-softmmu i386-softmmu mipsel-softmmu |
85 | riscv64-softmmu sh4eb-softmmu sparc-softmmu xtensaeb-softmmu | |
86 | MAKE_CHECK_ARGS: check-build | |
87 | artifacts: | |
0a796d63 | 88 | expire_in: 2 days |
699616db TH |
89 | paths: |
90 | - build | |
91 | ||
92 | check-system-debian: | |
e267ce59 | 93 | extends: .native_test_job_template |
699616db TH |
94 | needs: |
95 | - job: build-system-debian | |
96 | artifacts: true | |
97 | variables: | |
98 | IMAGE: debian-amd64 | |
99 | MAKE_CHECK_ARGS: check | |
100 | ||
101 | acceptance-system-debian: | |
a4b201d1 | 102 | extends: .acceptance_test_job_template |
699616db TH |
103 | needs: |
104 | - job: build-system-debian | |
105 | artifacts: true | |
106 | variables: | |
107 | IMAGE: debian-amd64 | |
108 | MAKE_CHECK_ARGS: check-acceptance | |
699616db TH |
109 | |
110 | build-system-fedora: | |
6683da09 | 111 | extends: .native_build_job_template |
764a0747 DB |
112 | needs: |
113 | job: amd64-fedora-container | |
c962864f DB |
114 | variables: |
115 | IMAGE: fedora | |
d0f26e68 | 116 | CONFIGURE_ARGS: --disable-gcrypt --enable-nettle --enable-docs |
db0108d5 | 117 | --enable-fdt=system --enable-slirp=system --enable-capstone=system |
3ffc7f01 | 118 | TARGETS: tricore-softmmu microblaze-softmmu mips-softmmu |
699616db | 119 | xtensa-softmmu m68k-softmmu riscv32-softmmu ppc-softmmu sparc64-softmmu |
a6eeac3b | 120 | MAKE_CHECK_ARGS: check-build |
c5008c76 | 121 | artifacts: |
0a796d63 | 122 | expire_in: 2 days |
c5008c76 AB |
123 | paths: |
124 | - build | |
125 | ||
699616db | 126 | check-system-fedora: |
e267ce59 | 127 | extends: .native_test_job_template |
c5008c76 | 128 | needs: |
699616db | 129 | - job: build-system-fedora |
c5008c76 AB |
130 | artifacts: true |
131 | variables: | |
132 | IMAGE: fedora | |
c962864f | 133 | MAKE_CHECK_ARGS: check |
0a8b05c7 | 134 | |
699616db | 135 | acceptance-system-fedora: |
a4b201d1 | 136 | extends: .acceptance_test_job_template |
c5008c76 | 137 | needs: |
699616db | 138 | - job: build-system-fedora |
c5008c76 AB |
139 | artifacts: true |
140 | variables: | |
141 | IMAGE: fedora | |
142 | MAKE_CHECK_ARGS: check-acceptance | |
c5008c76 | 143 | |
699616db | 144 | build-system-centos: |
6683da09 | 145 | extends: .native_build_job_template |
764a0747 DB |
146 | needs: |
147 | job: amd64-centos8-container | |
699616db TH |
148 | variables: |
149 | IMAGE: centos8 | |
db0108d5 | 150 | CONFIGURE_ARGS: --disable-nettle --enable-gcrypt --enable-fdt=system |
a2e5bbf0 | 151 | --enable-modules --enable-trace-backends=dtrace |
3ffc7f01 | 152 | TARGETS: ppc64-softmmu or1k-softmmu s390x-softmmu |
699616db TH |
153 | x86_64-softmmu rx-softmmu sh4-softmmu nios2-softmmu |
154 | MAKE_CHECK_ARGS: check-build | |
155 | artifacts: | |
0a796d63 | 156 | expire_in: 2 days |
699616db TH |
157 | paths: |
158 | - build | |
159 | ||
160 | check-system-centos: | |
e267ce59 | 161 | extends: .native_test_job_template |
699616db TH |
162 | needs: |
163 | - job: build-system-centos | |
164 | artifacts: true | |
165 | variables: | |
166 | IMAGE: centos8 | |
167 | MAKE_CHECK_ARGS: check | |
168 | ||
169 | acceptance-system-centos: | |
a4b201d1 | 170 | extends: .acceptance_test_job_template |
699616db TH |
171 | needs: |
172 | - job: build-system-centos | |
173 | artifacts: true | |
174 | variables: | |
175 | IMAGE: centos8 | |
176 | MAKE_CHECK_ARGS: check-acceptance | |
699616db | 177 | |
b115ea3a | 178 | build-system-opensuse: |
6683da09 | 179 | extends: .native_build_job_template |
764a0747 DB |
180 | needs: |
181 | job: amd64-opensuse-leap-container | |
b115ea3a CYC |
182 | variables: |
183 | IMAGE: opensuse-leap | |
db0108d5 | 184 | CONFIGURE_ARGS: --enable-fdt=system |
b115ea3a CYC |
185 | TARGETS: s390x-softmmu x86_64-softmmu aarch64-softmmu |
186 | MAKE_CHECK_ARGS: check-build | |
187 | artifacts: | |
188 | expire_in: 2 days | |
189 | paths: | |
190 | - build | |
191 | ||
192 | check-system-opensuse: | |
e267ce59 | 193 | extends: .native_test_job_template |
b115ea3a CYC |
194 | needs: |
195 | - job: build-system-opensuse | |
196 | artifacts: true | |
197 | variables: | |
198 | IMAGE: opensuse-leap | |
199 | MAKE_CHECK_ARGS: check | |
200 | ||
201 | acceptance-system-opensuse: | |
a4b201d1 | 202 | extends: .acceptance_test_job_template |
f5157dc7 DB |
203 | needs: |
204 | - job: build-system-opensuse | |
205 | artifacts: true | |
206 | variables: | |
207 | IMAGE: opensuse-leap | |
208 | MAKE_CHECK_ARGS: check-acceptance | |
b115ea3a CYC |
209 | |
210 | ||
0a8b05c7 | 211 | build-disabled: |
6683da09 | 212 | extends: .native_build_job_template |
764a0747 DB |
213 | needs: |
214 | job: amd64-fedora-container | |
c962864f DB |
215 | variables: |
216 | IMAGE: fedora | |
94a4f816 PMD |
217 | CONFIGURE_ARGS: |
218 | --disable-attr | |
0c4d885f | 219 | --disable-auth-pam |
94a4f816 PMD |
220 | --disable-avx2 |
221 | --disable-bochs | |
222 | --disable-brlapi | |
223 | --disable-bzip2 | |
224 | --disable-cap-ng | |
225 | --disable-capstone | |
226 | --disable-cloop | |
227 | --disable-coroutine-pool | |
228 | --disable-curl | |
229 | --disable-curses | |
230 | --disable-dmg | |
231 | --disable-docs | |
0c4d885f | 232 | --disable-gcrypt |
94a4f816 PMD |
233 | --disable-glusterfs |
234 | --disable-gnutls | |
235 | --disable-gtk | |
236 | --disable-guest-agent | |
237 | --disable-iconv | |
0c4d885f | 238 | --disable-keyring |
94a4f816 PMD |
239 | --disable-kvm |
240 | --disable-libiscsi | |
241 | --disable-libpmem | |
242 | --disable-libssh | |
0c4d885f | 243 | --disable-libudev |
94a4f816 PMD |
244 | --disable-libusb |
245 | --disable-libxml2 | |
246 | --disable-linux-aio | |
247 | --disable-live-block-migration | |
248 | --disable-lzo | |
249 | --disable-malloc-trim | |
250 | --disable-mpath | |
251 | --disable-nettle | |
252 | --disable-numa | |
0c4d885f | 253 | --disable-opengl |
94a4f816 PMD |
254 | --disable-parallels |
255 | --disable-pie | |
256 | --disable-qcow1 | |
257 | --disable-qed | |
258 | --disable-qom-cast-debug | |
259 | --disable-rbd | |
260 | --disable-rdma | |
261 | --disable-replication | |
262 | --disable-sdl | |
263 | --disable-seccomp | |
94a4f816 PMD |
264 | --disable-slirp |
265 | --disable-smartcard | |
266 | --disable-snappy | |
0c4d885f | 267 | --disable-sparse |
94a4f816 PMD |
268 | --disable-spice |
269 | --disable-strip | |
270 | --disable-tpm | |
271 | --disable-usb-redir | |
272 | --disable-vdi | |
273 | --disable-vhost-crypto | |
274 | --disable-vhost-net | |
275 | --disable-vhost-scsi | |
3473f6ed | 276 | --disable-vhost-kernel |
94a4f816 PMD |
277 | --disable-vhost-user |
278 | --disable-vhost-vdpa | |
279 | --disable-vhost-vsock | |
280 | --disable-virglrenderer | |
281 | --disable-vnc | |
282 | --disable-vte | |
283 | --disable-vvfat | |
284 | --disable-xen | |
285 | --disable-zstd | |
a7524adb TH |
286 | TARGETS: arm-softmmu i386-softmmu ppc64-softmmu mips64-softmmu |
287 | s390x-softmmu i386-linux-user | |
c962864f | 288 | MAKE_CHECK_ARGS: check-qtest SPEED=slow |
0a8b05c7 | 289 | |
37b6fd66 PMD |
290 | # This jobs explicitly disable TCG (--disable-tcg), KVM is detected by |
291 | # the configure script. The container doesn't contain Xen headers so | |
292 | # Xen accelerator is not detected / selected. As result it build the | |
293 | # i386-softmmu and x86_64-softmmu with KVM being the single accelerator | |
294 | # available. | |
7da153e8 TH |
295 | # Also use a different coroutine implementation (which is only really of |
296 | # interest to KVM users, i.e. with TCG disabled) | |
0a8b05c7 | 297 | build-tcg-disabled: |
6683da09 | 298 | extends: .native_build_job_template |
764a0747 DB |
299 | needs: |
300 | job: amd64-centos8-container | |
c962864f DB |
301 | variables: |
302 | IMAGE: centos8 | |
303 | script: | |
304 | - mkdir build | |
305 | - cd build | |
7da153e8 TH |
306 | - ../configure --disable-tcg --audio-drv-list="" --with-coroutine=ucontext |
307 | || { cat config.log meson-logs/meson-log.txt && exit 1; } | |
c962864f DB |
308 | - make -j"$JOBS" |
309 | - make check-unit | |
310 | - make check-qapi-schema | |
311 | - cd tests/qemu-iotests/ | |
312 | - ./check -raw 001 002 003 004 005 008 009 010 011 012 021 025 032 033 048 | |
c7cf4ddb TH |
313 | 052 063 077 086 101 104 106 113 148 150 151 152 157 159 160 163 |
314 | 170 171 183 184 192 194 197 208 215 221 222 226 227 236 253 277 | |
d8a18da5 | 315 | - ./check -qcow2 028 051 056 057 058 065 068 082 085 091 095 096 102 122 |
c7cf4ddb TH |
316 | 124 132 139 142 144 145 151 152 155 157 165 194 196 197 200 202 |
317 | 208 209 215 216 218 222 227 234 246 247 248 250 254 255 257 258 | |
318 | 260 261 262 263 264 270 272 273 277 279 | |
0a8b05c7 TH |
319 | |
320 | build-user: | |
6683da09 | 321 | extends: .native_build_job_template |
764a0747 DB |
322 | needs: |
323 | job: amd64-debian-user-cross-container | |
c962864f | 324 | variables: |
62c902e0 AB |
325 | IMAGE: debian-all-test-cross |
326 | CONFIGURE_ARGS: --disable-tools --disable-system | |
327 | MAKE_CHECK_ARGS: check-tcg | |
0a8b05c7 | 328 | |
d01bc253 | 329 | build-user-static: |
6683da09 | 330 | extends: .native_build_job_template |
764a0747 DB |
331 | needs: |
332 | job: amd64-debian-user-cross-container | |
d01bc253 PMD |
333 | variables: |
334 | IMAGE: debian-all-test-cross | |
335 | CONFIGURE_ARGS: --disable-tools --disable-system --static | |
336 | MAKE_CHECK_ARGS: check-tcg | |
337 | ||
910c40ee | 338 | # Because the hexagon cross-compiler takes so long to build we don't rely |
1aab5f05 | 339 | # on the CI system to build it and hence this job has an optional dependency |
910c40ee AB |
340 | # declared. The image is manually uploaded. |
341 | build-user-hexagon: | |
342 | extends: .native_build_job_template | |
1aab5f05 AB |
343 | needs: |
344 | job: hexagon-cross-container | |
345 | optional: true | |
910c40ee AB |
346 | variables: |
347 | IMAGE: debian-hexagon-cross | |
348 | TARGETS: hexagon-linux-user | |
349 | CONFIGURE_ARGS: --disable-tools --disable-docs --enable-debug-tcg | |
350 | MAKE_CHECK_ARGS: check-tcg | |
351 | ||
ac74e282 AB |
352 | # Only build the softmmu targets we have check-tcg tests for |
353 | build-some-softmmu: | |
6683da09 | 354 | extends: .native_build_job_template |
764a0747 DB |
355 | needs: |
356 | job: amd64-debian-user-cross-container | |
ac74e282 AB |
357 | variables: |
358 | IMAGE: debian-all-test-cross | |
ac6d7074 | 359 | CONFIGURE_ARGS: --disable-tools --enable-debug |
ac74e282 AB |
360 | TARGETS: xtensa-softmmu arm-softmmu aarch64-softmmu alpha-softmmu |
361 | MAKE_CHECK_ARGS: check-tcg | |
362 | ||
8cdb2cef AB |
363 | # Run check-tcg against linux-user (with plugins) |
364 | # we skip sparc64-linux-user until it has been fixed somewhat | |
365 | # we skip cris-linux-user as it doesn't use the common run loop | |
366 | build-user-plugins: | |
6683da09 | 367 | extends: .native_build_job_template |
764a0747 DB |
368 | needs: |
369 | job: amd64-debian-user-cross-container | |
8cdb2cef AB |
370 | variables: |
371 | IMAGE: debian-all-test-cross | |
372 | CONFIGURE_ARGS: --disable-tools --disable-system --enable-plugins --enable-debug-tcg --target-list-exclude=sparc64-linux-user,cris-linux-user | |
373 | MAKE_CHECK_ARGS: check-tcg | |
374 | timeout: 1h 30m | |
375 | ||
ac74e282 | 376 | build-some-softmmu-plugins: |
6683da09 | 377 | extends: .native_build_job_template |
764a0747 DB |
378 | needs: |
379 | job: amd64-debian-user-cross-container | |
ac74e282 AB |
380 | variables: |
381 | IMAGE: debian-all-test-cross | |
382 | CONFIGURE_ARGS: --disable-tools --disable-user --enable-plugins --enable-debug-tcg | |
383 | TARGETS: xtensa-softmmu arm-softmmu aarch64-softmmu alpha-softmmu | |
384 | MAKE_CHECK_ARGS: check-tcg | |
385 | ||
c2b33c43 | 386 | clang-system: |
6683da09 | 387 | extends: .native_build_job_template |
764a0747 DB |
388 | needs: |
389 | job: amd64-fedora-container | |
c962864f DB |
390 | variables: |
391 | IMAGE: fedora | |
392 | CONFIGURE_ARGS: --cc=clang --cxx=clang++ | |
c2b33c43 | 393 | --extra-cflags=-fsanitize=undefined --extra-cflags=-fno-sanitize-recover=undefined |
c962864f | 394 | TARGETS: alpha-softmmu arm-softmmu m68k-softmmu mips64-softmmu |
c2b33c43 TH |
395 | ppc-softmmu s390x-softmmu |
396 | MAKE_CHECK_ARGS: check-qtest check-tcg | |
397 | ||
398 | clang-user: | |
6683da09 | 399 | extends: .native_build_job_template |
4a859abd TH |
400 | needs: |
401 | job: amd64-debian-user-cross-container | |
c2b33c43 TH |
402 | variables: |
403 | IMAGE: debian-all-test-cross | |
404 | CONFIGURE_ARGS: --cc=clang --cxx=clang++ --disable-system | |
405 | --target-list-exclude=microblazeel-linux-user,aarch64_be-linux-user,i386-linux-user,m68k-linux-user,mipsn32el-linux-user,xtensaeb-linux-user | |
406 | --extra-cflags=-fsanitize=undefined --extra-cflags=-fno-sanitize-recover=undefined | |
407 | MAKE_CHECK_ARGS: check-unit check-tcg | |
5f55d64b | 408 | |
1bb12e17 DB |
409 | # Set LD_JOBS=1 because this requires LTO and ld consumes a large amount of memory. |
410 | # On gitlab runners, default value sometimes end up calling 2 lds concurrently and | |
411 | # triggers an Out-Of-Memory error | |
412 | # | |
413 | # Since slirp callbacks are used in QEMU Timers, slirp needs to be compiled together | |
414 | # with QEMU and linked as a static library to avoid false positives in CFI checks. | |
415 | # This can be accomplished by using -enable-slirp=git, which avoids the use of | |
416 | # a system-wide version of the library | |
417 | # | |
418 | # Split in three sets of build/check/acceptance to limit the execution time of each | |
419 | # job | |
420 | build-cfi-aarch64: | |
6683da09 | 421 | extends: .native_build_job_template |
1bb12e17 DB |
422 | needs: |
423 | - job: amd64-fedora-container | |
424 | variables: | |
425 | LD_JOBS: 1 | |
426 | AR: llvm-ar | |
427 | IMAGE: fedora | |
428 | CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi --enable-cfi-debug | |
429 | --enable-safe-stack --enable-slirp=git | |
430 | TARGETS: aarch64-softmmu | |
431 | MAKE_CHECK_ARGS: check-build | |
9737c8bc | 432 | timeout: 70m |
1bb12e17 DB |
433 | artifacts: |
434 | expire_in: 2 days | |
435 | paths: | |
436 | - build | |
437 | ||
438 | check-cfi-aarch64: | |
e267ce59 | 439 | extends: .native_test_job_template |
1bb12e17 DB |
440 | needs: |
441 | - job: build-cfi-aarch64 | |
442 | artifacts: true | |
443 | variables: | |
444 | IMAGE: fedora | |
445 | MAKE_CHECK_ARGS: check | |
446 | ||
447 | acceptance-cfi-aarch64: | |
a4b201d1 | 448 | extends: .acceptance_test_job_template |
1bb12e17 DB |
449 | needs: |
450 | - job: build-cfi-aarch64 | |
451 | artifacts: true | |
452 | variables: | |
453 | IMAGE: fedora | |
454 | MAKE_CHECK_ARGS: check-acceptance | |
1bb12e17 DB |
455 | |
456 | build-cfi-ppc64-s390x: | |
6683da09 | 457 | extends: .native_build_job_template |
1bb12e17 DB |
458 | needs: |
459 | - job: amd64-fedora-container | |
460 | variables: | |
461 | LD_JOBS: 1 | |
462 | AR: llvm-ar | |
463 | IMAGE: fedora | |
464 | CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi --enable-cfi-debug | |
465 | --enable-safe-stack --enable-slirp=git | |
466 | TARGETS: ppc64-softmmu s390x-softmmu | |
467 | MAKE_CHECK_ARGS: check-build | |
9737c8bc | 468 | timeout: 70m |
1bb12e17 DB |
469 | artifacts: |
470 | expire_in: 2 days | |
471 | paths: | |
472 | - build | |
473 | ||
474 | check-cfi-ppc64-s390x: | |
e267ce59 | 475 | extends: .native_test_job_template |
1bb12e17 DB |
476 | needs: |
477 | - job: build-cfi-ppc64-s390x | |
478 | artifacts: true | |
479 | variables: | |
480 | IMAGE: fedora | |
481 | MAKE_CHECK_ARGS: check | |
482 | ||
483 | acceptance-cfi-ppc64-s390x: | |
a4b201d1 | 484 | extends: .acceptance_test_job_template |
1bb12e17 DB |
485 | needs: |
486 | - job: build-cfi-ppc64-s390x | |
487 | artifacts: true | |
488 | variables: | |
489 | IMAGE: fedora | |
490 | MAKE_CHECK_ARGS: check-acceptance | |
1bb12e17 DB |
491 | |
492 | build-cfi-x86_64: | |
6683da09 | 493 | extends: .native_build_job_template |
1bb12e17 DB |
494 | needs: |
495 | - job: amd64-fedora-container | |
496 | variables: | |
497 | LD_JOBS: 1 | |
498 | AR: llvm-ar | |
499 | IMAGE: fedora | |
500 | CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi --enable-cfi-debug | |
501 | --enable-safe-stack --enable-slirp=git | |
502 | TARGETS: x86_64-softmmu | |
503 | MAKE_CHECK_ARGS: check-build | |
9737c8bc | 504 | timeout: 70m |
1bb12e17 DB |
505 | artifacts: |
506 | expire_in: 2 days | |
507 | paths: | |
508 | - build | |
509 | ||
510 | check-cfi-x86_64: | |
e267ce59 | 511 | extends: .native_test_job_template |
1bb12e17 DB |
512 | needs: |
513 | - job: build-cfi-x86_64 | |
514 | artifacts: true | |
515 | variables: | |
516 | IMAGE: fedora | |
517 | MAKE_CHECK_ARGS: check | |
518 | ||
519 | acceptance-cfi-x86_64: | |
a4b201d1 | 520 | extends: .acceptance_test_job_template |
1bb12e17 DB |
521 | needs: |
522 | - job: build-cfi-x86_64 | |
523 | artifacts: true | |
524 | variables: | |
525 | IMAGE: fedora | |
526 | MAKE_CHECK_ARGS: check-acceptance | |
1bb12e17 | 527 | |
0c99f50c | 528 | tsan-build: |
6683da09 | 529 | extends: .native_build_job_template |
4a859abd TH |
530 | needs: |
531 | job: amd64-ubuntu2004-container | |
0c99f50c TH |
532 | variables: |
533 | IMAGE: ubuntu2004 | |
a9eb2df2 | 534 | CONFIGURE_ARGS: --enable-tsan --cc=clang-10 --cxx=clang++-10 |
65aff820 | 535 | --enable-trace-backends=ust --enable-fdt=system --enable-slirp=system |
0c99f50c TH |
536 | TARGETS: x86_64-softmmu ppc64-softmmu riscv64-softmmu x86_64-linux-user |
537 | MAKE_CHECK_ARGS: bench V=1 | |
538 | ||
1c0c06b1 AB |
539 | # These targets are on the way out |
540 | build-deprecated: | |
6683da09 | 541 | extends: .native_build_job_template |
764a0747 DB |
542 | needs: |
543 | job: amd64-debian-user-cross-container | |
1c0c06b1 AB |
544 | variables: |
545 | IMAGE: debian-all-test-cross | |
a9eb2df2 | 546 | CONFIGURE_ARGS: --disable-tools |
2614670b | 547 | MAKE_CHECK_ARGS: build-tcg |
43692239 | 548 | TARGETS: ppc64abi32-linux-user |
2614670b AB |
549 | artifacts: |
550 | expire_in: 2 days | |
551 | paths: | |
552 | - build | |
553 | ||
554 | # We split the check-tcg step as test failures are expected but we still | |
555 | # want to catch the build breaking. | |
556 | check-deprecated: | |
e267ce59 | 557 | extends: .native_test_job_template |
2614670b AB |
558 | needs: |
559 | - job: build-deprecated | |
560 | artifacts: true | |
561 | variables: | |
562 | IMAGE: debian-all-test-cross | |
563 | MAKE_CHECK_ARGS: check-tcg | |
1c0c06b1 AB |
564 | allow_failure: true |
565 | ||
04250c69 PMD |
566 | # gprof/gcov are GCC features |
567 | gprof-gcov: | |
6683da09 | 568 | extends: .native_build_job_template |
4a859abd TH |
569 | needs: |
570 | job: amd64-ubuntu2004-container | |
04250c69 PMD |
571 | variables: |
572 | IMAGE: ubuntu2004 | |
573 | CONFIGURE_ARGS: --enable-gprof --enable-gcov | |
574 | MAKE_CHECK_ARGS: check | |
575 | TARGETS: aarch64-softmmu ppc64-softmmu s390x-softmmu x86_64-softmmu | |
576 | timeout: 70m | |
577 | after_script: | |
578 | - ${CI_PROJECT_DIR}/scripts/ci/coverage-summary.sh | |
579 | ||
48eac101 | 580 | build-oss-fuzz: |
6683da09 | 581 | extends: .native_build_job_template |
764a0747 DB |
582 | needs: |
583 | job: amd64-fedora-container | |
b610eba3 TH |
584 | variables: |
585 | IMAGE: fedora | |
586 | script: | |
48eac101 AB |
587 | - mkdir build-oss-fuzz |
588 | - CC="clang" CXX="clang++" CFLAGS="-fsanitize=address" | |
589 | ./scripts/oss-fuzz/build.sh | |
5ab04d5e | 590 | - export ASAN_OPTIONS="fast_unwind_on_malloc=0" |
48eac101 AB |
591 | - for fuzzer in $(find ./build-oss-fuzz/DEST_DIR/ -executable -type f |
592 | | grep -v slirp); do | |
593 | grep "LLVMFuzzerTestOneInput" ${fuzzer} > /dev/null 2>&1 || continue ; | |
594 | echo Testing ${fuzzer} ... ; | |
320c6e78 | 595 | "${fuzzer}" -runs=1 -seed=1 || exit 1 ; |
b610eba3 | 596 | done |
5ab04d5e TH |
597 | # Unrelated to fuzzer: run some tests with -fsanitize=address |
598 | - cd build-oss-fuzz && make check-qtest-i386 check-unit | |
b610eba3 | 599 | |
5f55d64b | 600 | build-tci: |
6683da09 | 601 | extends: .native_build_job_template |
764a0747 | 602 | needs: |
53c915c6 | 603 | job: amd64-debian-user-cross-container |
c962864f | 604 | variables: |
53c915c6 | 605 | IMAGE: debian-all-test-cross |
c962864f | 606 | script: |
875bb7e3 | 607 | - TARGETS="aarch64 alpha arm hppa m68k microblaze ppc64 s390x x86_64" |
c962864f DB |
608 | - mkdir build |
609 | - cd build | |
610 | - ../configure --enable-tcg-interpreter | |
c47110d9 | 611 | --target-list="$(for tg in $TARGETS; do echo -n ${tg}'-softmmu '; done)" || { cat config.log meson-logs/meson-log.txt && exit 1; } |
c962864f | 612 | - make -j"$JOBS" |
c962864f DB |
613 | - make tests/qtest/boot-serial-test tests/qtest/cdrom-test tests/qtest/pxe-test |
614 | - for tg in $TARGETS ; do | |
64ed6f92 | 615 | export QTEST_QEMU_BINARY="./qemu-system-${tg}" ; |
c962864f DB |
616 | ./tests/qtest/boot-serial-test || exit 1 ; |
617 | ./tests/qtest/cdrom-test || exit 1 ; | |
618 | done | |
64ed6f92 PB |
619 | - QTEST_QEMU_BINARY="./qemu-system-x86_64" ./tests/qtest/pxe-test |
620 | - QTEST_QEMU_BINARY="./qemu-system-s390x" ./tests/qtest/pxe-test -m slow | |
53c915c6 | 621 | - make check-tcg |
affcc09c | 622 | |
d1a8b308 PMD |
623 | # Alternate coroutines implementations are only really of interest to KVM users |
624 | # However we can't test against KVM on Gitlab-CI so we can only run unit tests | |
d1a8b308 | 625 | build-coroutine-sigaltstack: |
6683da09 | 626 | extends: .native_build_job_template |
764a0747 DB |
627 | needs: |
628 | job: amd64-ubuntu2004-container | |
d1a8b308 PMD |
629 | variables: |
630 | IMAGE: ubuntu2004 | |
631 | CONFIGURE_ARGS: --with-coroutine=sigaltstack --disable-tcg | |
65aff820 | 632 | --enable-trace-backends=ftrace |
d1a8b308 PMD |
633 | MAKE_CHECK_ARGS: check-unit |
634 | ||
affcc09c DB |
635 | # Most jobs test latest gcrypt or nettle builds |
636 | # | |
637 | # These jobs test old gcrypt and nettle from RHEL7 | |
638 | # which had some API differences. | |
34240956 | 639 | crypto-old-nettle: |
6683da09 | 640 | extends: .native_build_job_template |
764a0747 DB |
641 | needs: |
642 | job: amd64-centos7-container | |
affcc09c DB |
643 | variables: |
644 | IMAGE: centos7 | |
645 | TARGETS: x86_64-softmmu x86_64-linux-user | |
646 | CONFIGURE_ARGS: --disable-gcrypt --enable-nettle | |
affcc09c DB |
647 | MAKE_CHECK_ARGS: check |
648 | ||
34240956 | 649 | crypto-old-gcrypt: |
6683da09 | 650 | extends: .native_build_job_template |
764a0747 DB |
651 | needs: |
652 | job: amd64-centos7-container | |
affcc09c DB |
653 | variables: |
654 | IMAGE: centos7 | |
655 | TARGETS: x86_64-softmmu x86_64-linux-user | |
656 | CONFIGURE_ARGS: --disable-nettle --enable-gcrypt | |
affcc09c DB |
657 | MAKE_CHECK_ARGS: check |
658 | ||
34240956 | 659 | crypto-only-gnutls: |
6683da09 | 660 | extends: .native_build_job_template |
764a0747 DB |
661 | needs: |
662 | job: amd64-centos7-container | |
affcc09c DB |
663 | variables: |
664 | IMAGE: centos7 | |
665 | TARGETS: x86_64-softmmu x86_64-linux-user | |
666 | CONFIGURE_ARGS: --disable-nettle --disable-gcrypt --enable-gnutls | |
affcc09c | 667 | MAKE_CHECK_ARGS: check |
1f475472 | 668 | |
34240956 | 669 | |
3fed93f3 AB |
670 | # Check our reduced build configurations |
671 | build-without-default-devices: | |
6683da09 | 672 | extends: .native_build_job_template |
764a0747 DB |
673 | needs: |
674 | job: amd64-centos8-container | |
3fed93f3 AB |
675 | variables: |
676 | IMAGE: centos8 | |
677 | CONFIGURE_ARGS: --without-default-devices --disable-user | |
678 | ||
53f41245 | 679 | build-without-default-features: |
6683da09 | 680 | extends: .native_build_job_template |
764a0747 DB |
681 | needs: |
682 | job: amd64-debian-container | |
53f41245 AB |
683 | variables: |
684 | IMAGE: debian-amd64 | |
685 | CONFIGURE_ARGS: --without-default-features --disable-user | |
8cd95aec | 686 | --target-list-exclude=arm-softmmu,i386-softmmu,mipsel-softmmu,mips64-softmmu,ppc-softmmu |
53f41245 AB |
687 | MAKE_CHECK_ARGS: check-unit |
688 | ||
c4698e36 MAL |
689 | build-libvhost-user: |
690 | stage: build | |
691 | image: $CI_REGISTRY_IMAGE/qemu/fedora:latest | |
764a0747 DB |
692 | needs: |
693 | job: amd64-fedora-container | |
c4698e36 MAL |
694 | before_script: |
695 | - dnf install -y meson ninja-build | |
696 | script: | |
697 | - mkdir subprojects/libvhost-user/build | |
698 | - cd subprojects/libvhost-user/build | |
699 | - meson | |
700 | - ninja | |
701 | ||
dd188e41 TH |
702 | # No targets are built here, just tools, docs, and unit tests. This |
703 | # also feeds into the eventual documentation deployment steps later | |
704 | build-tools-and-docs-debian: | |
6683da09 | 705 | extends: .native_build_job_template |
dd188e41 TH |
706 | needs: |
707 | job: amd64-debian-container | |
708 | variables: | |
709 | IMAGE: debian-amd64 | |
710 | MAKE_CHECK_ARGS: check-unit check-softfloat ctags TAGS cscope | |
711 | CONFIGURE_ARGS: --disable-system --disable-user --enable-docs --enable-tools | |
712 | artifacts: | |
713 | expire_in: 2 days | |
714 | paths: | |
715 | - build | |
716 | ||
a8a3abe0 AB |
717 | # Prepare for GitLab pages deployment. Anything copied into the |
718 | # "public" directory will be deployed to $USER.gitlab.io/$PROJECT | |
4daa9055 | 719 | pages: |
a8a3abe0 | 720 | image: $CI_REGISTRY_IMAGE/qemu/debian-amd64:latest |
4daa9055 DB |
721 | stage: test |
722 | needs: | |
a8a3abe0 | 723 | - job: build-tools-and-docs-debian |
4daa9055 | 724 | script: |
a8a3abe0 AB |
725 | - mkdir -p public |
726 | # HTML-ised source tree | |
727 | - make gtags | |
728 | - htags -anT --tree-view=filetree -m qemu_init | |
729 | -t "Welcome to the QEMU sourcecode" | |
730 | - mv HTML public/src | |
731 | # Project documentation | |
b93f4fbd PM |
732 | - make -C build install DESTDIR=$(pwd)/temp-install |
733 | - mv temp-install/usr/local/share/doc/qemu/* public/ | |
4daa9055 DB |
734 | artifacts: |
735 | paths: | |
736 | - public |