]> git.proxmox.com Git - mirror_qemu.git/blob - .gitlab-ci.d/buildtest.yml
gitlab-ci.d/buildtest: Disable iotests 197 and 215
[mirror_qemu.git] / .gitlab-ci.d / buildtest.yml
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
27 MAKE_CHECK_ARGS: check
28
29 acceptance-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
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
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
53 check-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
62 acceptance-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
71 build-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
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
95 acceptance-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
104 build-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
120 check-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
129 acceptance-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
138 build-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
154 check-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
163 acceptance-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
172 build-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
186 check-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
195 acceptance-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
205 build-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)
291 build-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 208 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 200 202
311 208 209 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
314 build-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
323 build-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.
335 build-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
347 build-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 # We build tricore in a very minimal tricore only container
358 build-tricore-softmmu:
359 extends: .native_build_job_template
360 needs:
361 job: tricore-debian-cross-container
362 variables:
363 IMAGE: debian-tricore-cross
364 CONFIGURE_ARGS: --disable-tools --disable-fdt --enable-debug
365 TARGETS: tricore-softmmu
366 MAKE_CHECK_ARGS: check-tcg
367
368 clang-system:
369 extends: .native_build_job_template
370 needs:
371 job: amd64-fedora-container
372 variables:
373 IMAGE: fedora
374 CONFIGURE_ARGS: --cc=clang --cxx=clang++
375 --extra-cflags=-fsanitize=undefined --extra-cflags=-fno-sanitize-recover=undefined
376 TARGETS: alpha-softmmu arm-softmmu m68k-softmmu mips64-softmmu
377 ppc-softmmu s390x-softmmu
378 MAKE_CHECK_ARGS: check-qtest check-tcg
379
380 clang-user:
381 extends: .native_build_job_template
382 needs:
383 job: amd64-debian-user-cross-container
384 variables:
385 IMAGE: debian-all-test-cross
386 CONFIGURE_ARGS: --cc=clang --cxx=clang++ --disable-system
387 --target-list-exclude=microblazeel-linux-user,aarch64_be-linux-user,i386-linux-user,m68k-linux-user,mipsn32el-linux-user,xtensaeb-linux-user
388 --extra-cflags=-fsanitize=undefined --extra-cflags=-fno-sanitize-recover=undefined
389 MAKE_CHECK_ARGS: check-unit check-tcg
390
391 # Set LD_JOBS=1 because this requires LTO and ld consumes a large amount of memory.
392 # On gitlab runners, default value sometimes end up calling 2 lds concurrently and
393 # triggers an Out-Of-Memory error
394 #
395 # Since slirp callbacks are used in QEMU Timers, slirp needs to be compiled together
396 # with QEMU and linked as a static library to avoid false positives in CFI checks.
397 # This can be accomplished by using -enable-slirp=git, which avoids the use of
398 # a system-wide version of the library
399 #
400 # Split in three sets of build/check/acceptance to limit the execution time of each
401 # job
402 build-cfi-aarch64:
403 extends: .native_build_job_template
404 needs:
405 - job: amd64-fedora-container
406 variables:
407 LD_JOBS: 1
408 AR: llvm-ar
409 IMAGE: fedora
410 CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi --enable-cfi-debug
411 --enable-safe-stack --enable-slirp=git
412 TARGETS: aarch64-softmmu
413 MAKE_CHECK_ARGS: check-build
414 timeout: 70m
415 artifacts:
416 expire_in: 2 days
417 paths:
418 - build
419
420 check-cfi-aarch64:
421 extends: .native_test_job_template
422 needs:
423 - job: build-cfi-aarch64
424 artifacts: true
425 variables:
426 IMAGE: fedora
427 MAKE_CHECK_ARGS: check
428
429 acceptance-cfi-aarch64:
430 extends: .acceptance_test_job_template
431 needs:
432 - job: build-cfi-aarch64
433 artifacts: true
434 variables:
435 IMAGE: fedora
436 MAKE_CHECK_ARGS: check-acceptance
437
438 build-cfi-ppc64-s390x:
439 extends: .native_build_job_template
440 needs:
441 - job: amd64-fedora-container
442 variables:
443 LD_JOBS: 1
444 AR: llvm-ar
445 IMAGE: fedora
446 CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi --enable-cfi-debug
447 --enable-safe-stack --enable-slirp=git
448 TARGETS: ppc64-softmmu s390x-softmmu
449 MAKE_CHECK_ARGS: check-build
450 timeout: 70m
451 artifacts:
452 expire_in: 2 days
453 paths:
454 - build
455
456 check-cfi-ppc64-s390x:
457 extends: .native_test_job_template
458 needs:
459 - job: build-cfi-ppc64-s390x
460 artifacts: true
461 variables:
462 IMAGE: fedora
463 MAKE_CHECK_ARGS: check
464
465 acceptance-cfi-ppc64-s390x:
466 extends: .acceptance_test_job_template
467 needs:
468 - job: build-cfi-ppc64-s390x
469 artifacts: true
470 variables:
471 IMAGE: fedora
472 MAKE_CHECK_ARGS: check-acceptance
473
474 build-cfi-x86_64:
475 extends: .native_build_job_template
476 needs:
477 - job: amd64-fedora-container
478 variables:
479 LD_JOBS: 1
480 AR: llvm-ar
481 IMAGE: fedora
482 CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi --enable-cfi-debug
483 --enable-safe-stack --enable-slirp=git
484 TARGETS: x86_64-softmmu
485 MAKE_CHECK_ARGS: check-build
486 timeout: 70m
487 artifacts:
488 expire_in: 2 days
489 paths:
490 - build
491
492 check-cfi-x86_64:
493 extends: .native_test_job_template
494 needs:
495 - job: build-cfi-x86_64
496 artifacts: true
497 variables:
498 IMAGE: fedora
499 MAKE_CHECK_ARGS: check
500
501 acceptance-cfi-x86_64:
502 extends: .acceptance_test_job_template
503 needs:
504 - job: build-cfi-x86_64
505 artifacts: true
506 variables:
507 IMAGE: fedora
508 MAKE_CHECK_ARGS: check-acceptance
509
510 tsan-build:
511 extends: .native_build_job_template
512 needs:
513 job: amd64-ubuntu2004-container
514 variables:
515 IMAGE: ubuntu2004
516 CONFIGURE_ARGS: --enable-tsan --cc=clang-10 --cxx=clang++-10
517 --enable-trace-backends=ust --enable-fdt=system --enable-slirp=system
518 TARGETS: x86_64-softmmu ppc64-softmmu riscv64-softmmu x86_64-linux-user
519 MAKE_CHECK_ARGS: bench V=1
520
521 # These targets are on the way out
522 build-deprecated:
523 extends: .native_build_job_template
524 needs:
525 job: amd64-debian-user-cross-container
526 variables:
527 IMAGE: debian-all-test-cross
528 CONFIGURE_ARGS: --disable-tools
529 MAKE_CHECK_ARGS: build-tcg
530 TARGETS: ppc64abi32-linux-user
531 artifacts:
532 expire_in: 2 days
533 paths:
534 - build
535
536 # We split the check-tcg step as test failures are expected but we still
537 # want to catch the build breaking.
538 check-deprecated:
539 extends: .native_test_job_template
540 needs:
541 - job: build-deprecated
542 artifacts: true
543 variables:
544 IMAGE: debian-all-test-cross
545 MAKE_CHECK_ARGS: check-tcg
546 allow_failure: true
547
548 # gprof/gcov are GCC features
549 build-gprof-gcov:
550 extends: .native_build_job_template
551 needs:
552 job: amd64-ubuntu2004-container
553 variables:
554 IMAGE: ubuntu2004
555 CONFIGURE_ARGS: --enable-gprof --enable-gcov
556 TARGETS: aarch64-softmmu ppc64-softmmu s390x-softmmu x86_64-softmmu
557 artifacts:
558 expire_in: 1 days
559 paths:
560 - build
561
562 check-gprof-gcov:
563 extends: .native_test_job_template
564 needs:
565 - job: build-gprof-gcov
566 artifacts: true
567 variables:
568 IMAGE: ubuntu2004
569 MAKE_CHECK_ARGS: check
570 after_script:
571 - ${CI_PROJECT_DIR}/scripts/ci/coverage-summary.sh
572
573 build-oss-fuzz:
574 extends: .native_build_job_template
575 needs:
576 job: amd64-fedora-container
577 variables:
578 IMAGE: fedora
579 script:
580 - mkdir build-oss-fuzz
581 - CC="clang" CXX="clang++" CFLAGS="-fsanitize=address"
582 ./scripts/oss-fuzz/build.sh
583 - export ASAN_OPTIONS="fast_unwind_on_malloc=0"
584 - for fuzzer in $(find ./build-oss-fuzz/DEST_DIR/ -executable -type f
585 | grep -v slirp); do
586 grep "LLVMFuzzerTestOneInput" ${fuzzer} > /dev/null 2>&1 || continue ;
587 echo Testing ${fuzzer} ... ;
588 "${fuzzer}" -runs=1 -seed=1 || exit 1 ;
589 done
590 # Unrelated to fuzzer: run some tests with -fsanitize=address
591 - cd build-oss-fuzz && make check-qtest-i386 check-unit
592
593 build-tci:
594 extends: .native_build_job_template
595 needs:
596 job: amd64-debian-user-cross-container
597 variables:
598 IMAGE: debian-all-test-cross
599 script:
600 - TARGETS="aarch64 alpha arm hppa m68k microblaze ppc64 s390x x86_64"
601 - mkdir build
602 - cd build
603 - ../configure --enable-tcg-interpreter
604 --target-list="$(for tg in $TARGETS; do echo -n ${tg}'-softmmu '; done)" || { cat config.log meson-logs/meson-log.txt && exit 1; }
605 - make -j"$JOBS"
606 - make tests/qtest/boot-serial-test tests/qtest/cdrom-test tests/qtest/pxe-test
607 - for tg in $TARGETS ; do
608 export QTEST_QEMU_BINARY="./qemu-system-${tg}" ;
609 ./tests/qtest/boot-serial-test || exit 1 ;
610 ./tests/qtest/cdrom-test || exit 1 ;
611 done
612 - QTEST_QEMU_BINARY="./qemu-system-x86_64" ./tests/qtest/pxe-test
613 - QTEST_QEMU_BINARY="./qemu-system-s390x" ./tests/qtest/pxe-test -m slow
614 - make check-tcg
615
616 # Alternate coroutines implementations are only really of interest to KVM users
617 # However we can't test against KVM on Gitlab-CI so we can only run unit tests
618 build-coroutine-sigaltstack:
619 extends: .native_build_job_template
620 needs:
621 job: amd64-ubuntu2004-container
622 variables:
623 IMAGE: ubuntu2004
624 CONFIGURE_ARGS: --with-coroutine=sigaltstack --disable-tcg
625 --enable-trace-backends=ftrace
626 MAKE_CHECK_ARGS: check-unit
627
628 # Check our reduced build configurations
629 build-without-default-devices:
630 extends: .native_build_job_template
631 needs:
632 job: amd64-centos8-container
633 variables:
634 IMAGE: centos8
635 CONFIGURE_ARGS: --without-default-devices --disable-user
636
637 build-without-default-features:
638 extends: .native_build_job_template
639 needs:
640 job: amd64-debian-container
641 variables:
642 IMAGE: debian-amd64
643 CONFIGURE_ARGS: --without-default-features --disable-user
644 --target-list-exclude=arm-softmmu,i386-softmmu,mipsel-softmmu,mips64-softmmu,ppc-softmmu
645 MAKE_CHECK_ARGS: check-unit
646
647 build-libvhost-user:
648 stage: build
649 image: $CI_REGISTRY_IMAGE/qemu/fedora:latest
650 needs:
651 job: amd64-fedora-container
652 before_script:
653 - dnf install -y meson ninja-build
654 script:
655 - mkdir subprojects/libvhost-user/build
656 - cd subprojects/libvhost-user/build
657 - meson
658 - ninja
659
660 # No targets are built here, just tools, docs, and unit tests. This
661 # also feeds into the eventual documentation deployment steps later
662 build-tools-and-docs-debian:
663 extends: .native_build_job_template
664 needs:
665 job: amd64-debian-container
666 variables:
667 IMAGE: debian-amd64
668 MAKE_CHECK_ARGS: check-unit check-softfloat ctags TAGS cscope
669 CONFIGURE_ARGS: --disable-system --disable-user --enable-docs --enable-tools
670 artifacts:
671 expire_in: 2 days
672 paths:
673 - build
674
675 # Prepare for GitLab pages deployment. Anything copied into the
676 # "public" directory will be deployed to $USER.gitlab.io/$PROJECT
677 #
678 # GitLab publishes from any branch that triggers a CI pipeline
679 #
680 # For the main repo we don't want to publish from 'staging'
681 # since that content may not be pushed, nor do we wish to
682 # publish from 'stable-NNN' branches as that content is outdated.
683 # Thus we restrict to just the default branch
684 #
685 # For contributor forks we want to publish from any repo so
686 # that users can see the results of their commits, regardless
687 # of what topic branch they're currently using
688 pages:
689 image: $CI_REGISTRY_IMAGE/qemu/debian-amd64:latest
690 stage: test
691 needs:
692 - job: build-tools-and-docs-debian
693 script:
694 - mkdir -p public
695 # HTML-ised source tree
696 - make gtags
697 - htags -anT --tree-view=filetree -m qemu_init
698 -t "Welcome to the QEMU sourcecode"
699 - mv HTML public/src
700 # Project documentation
701 - make -C build install DESTDIR=$(pwd)/temp-install
702 - mv temp-install/usr/local/share/doc/qemu/* public/
703 artifacts:
704 paths:
705 - public
706 rules:
707 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
708 when: on_success
709 - if: '$CI_PROJECT_NAMESPACE == "qemu-project"'
710 when: never
711 - if: '$CI_PROJECT_NAMESPACE != "qemu-project"'
712 when: on_success