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