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