Lines Matching +full:build +full:- +full:tools +full:- +full:and +full:- +full:docs +full:- +full:debian

2   - local: '/.gitlab-ci.d/buildtest-template.yml'
4 build-system-alpine:
6 - .native_build_job_template
7 - .native_build_artifact_template
9 - job: amd64-alpine-container
12 TARGETS: avr-softmmu loongarch64-softmmu mips64-softmmu mipsel-softmmu
13 MAKE_CHECK_ARGS: check-build
14 CONFIGURE_ARGS: --enable-docs --enable-trace-backends=log,simple,syslog
16 check-system-alpine:
19 - job: build-system-alpine
23 MAKE_CHECK_ARGS: check-unit check-qtest
25 functional-system-alpine:
28 - job: build-system-alpine
32 MAKE_CHECK_ARGS: check-functional
34 build-system-ubuntu:
36 - .native_build_job_template
37 - .native_build_artifact_template
39 job: amd64-ubuntu2204-container
42 CONFIGURE_ARGS: --enable-docs --enable-rust
43 TARGETS: alpha-softmmu microblazeel-softmmu mips64el-softmmu
44 MAKE_CHECK_ARGS: check-build check-doc
46 check-system-ubuntu:
49 - job: build-system-ubuntu
55 functional-system-ubuntu:
58 - job: build-system-ubuntu
62 MAKE_CHECK_ARGS: check-functional
64 build-system-debian:
66 - .native_build_job_template
67 - .native_build_artifact_template
69 job: amd64-debian-container
71 IMAGE: debian
72 CONFIGURE_ARGS: --with-coroutine=sigaltstack --enable-rust
73 TARGETS: arm-softmmu i386-softmmu riscv64-softmmu sh4eb-softmmu
74 sparc-softmmu xtensa-softmmu
75 MAKE_CHECK_ARGS: check-build
77 check-system-debian:
80 - job: build-system-debian
83 IMAGE: debian
86 functional-system-debian:
89 - job: build-system-debian
92 IMAGE: debian
93 MAKE_CHECK_ARGS: check-functional
95 crash-test-debian:
98 - job: build-system-debian
101 IMAGE: debian
103 - cd build
104 - make NINJA=":" check-venv
105 - pyvenv/bin/python3 scripts/device-crash-test -q --tcg-only ./qemu-system-i386
107 build-system-fedora:
109 - .native_build_job_template
110 - .native_build_artifact_template
112 job: amd64-fedora-container
115 … CONFIGURE_ARGS: --disable-gcrypt --enable-nettle --enable-docs --enable-crypto-afalg --enable-rust
116 TARGETS: microblaze-softmmu mips-softmmu
117 xtensa-softmmu m68k-softmmu riscv32-softmmu ppc-softmmu sparc64-softmmu
118 MAKE_CHECK_ARGS: check-build check-doc
120 build-system-fedora-rust-nightly:
122 - .native_build_job_template
123 - .native_build_artifact_template
125 job: amd64-fedora-rust-nightly-container
127 IMAGE: fedora-rust-nightly
128 CONFIGURE_ARGS: --disable-docs --enable-rust --enable-strict-rust-lints
129 TARGETS: aarch64-softmmu
130 MAKE_CHECK_ARGS: check-build check-doc
134 check-system-fedora:
137 - job: build-system-fedora
143 functional-system-fedora:
146 - job: build-system-fedora
150 MAKE_CHECK_ARGS: check-functional
152 crash-test-fedora:
155 - job: build-system-fedora
160 - cd build
161 - make NINJA=":" check-venv
162 - pyvenv/bin/python3 scripts/device-crash-test -q ./qemu-system-ppc
163 - pyvenv/bin/python3 scripts/device-crash-test -q ./qemu-system-riscv32
165 build-system-centos:
167 - .native_build_job_template
168 - .native_build_artifact_template
170 job: amd64-centos9-container
173 CONFIGURE_ARGS: --disable-nettle --enable-gcrypt --enable-vfio-user-server
174 --enable-modules --enable-trace-backends=dtrace --enable-docs
175 TARGETS: ppc64-softmmu or1k-softmmu s390x-softmmu
176 x86_64-softmmu rx-softmmu sh4-softmmu
177 MAKE_CHECK_ARGS: check-build
179 # Previous QEMU release. Used for cross-version migration tests.
180 build-previous-qemu:
186 - build-previous/qemu-bundle
187 - build-previous/qemu-system-aarch64
188 - build-previous/qemu-system-x86_64
189 - build-previous/tests/qtest/migration-test
190 - build-previous/scripts
192 job: amd64-opensuse-leap-container
194 IMAGE: opensuse-leap
195 TARGETS: x86_64-softmmu aarch64-softmmu
197 GIT_FETCH_EXTRA_FLAGS: --prune --quiet
199 - source scripts/ci/gitlab-ci-section
202 # version tag is not yet present in the remote and git fetch would
204 - if grep -q "\.0$" VERSION; then exit 0; fi
205 - export QEMU_PREV_VERSION="$(sed 's/\([0-9.]*\)\.[0-9]*/v\1.0/' VERSION)"
206 - git remote add upstream https://gitlab.com/qemu-project/qemu
207 - git fetch upstream refs/tags/$QEMU_PREV_VERSION:refs/tags/$QEMU_PREV_VERSION
208 - git checkout $QEMU_PREV_VERSION
210 - mv build build-previous
212 .migration-compat-common:
215 - job: build-previous-qemu
216 - job: build-system-opensuse
222 IMAGE: opensuse-leap
223 MAKE_CHECK_ARGS: check-build
227 - if grep -q "\.0$" VERSION; then exit 0; fi
228 # Use the migration-tests from the older QEMU tree. This avoids
231 - cd build-previous
233 - QTEST_QEMU_BINARY_SRC=./qemu-system-${TARGET}
234 QTEST_QEMU_BINARY=../build/qemu-system-${TARGET} ./tests/qtest/migration-test
236 - QTEST_QEMU_BINARY_DST=./qemu-system-${TARGET}
237 QTEST_QEMU_BINARY=../build/qemu-system-${TARGET} ./tests/qtest/migration-test
240 # will both (1) support both KVM and TCG, and (2) provide a stable ABI.
241 # Currently only "-cpu max" can provide (1), however it doesn't guarantee
243 migration-compat-aarch64:
244 extends: .migration-compat-common
249 migration-compat-x86_64:
250 extends: .migration-compat-common
254 check-system-centos:
257 - job: build-system-centos
263 functional-system-centos:
266 - job: build-system-centos
270 MAKE_CHECK_ARGS: check-functional
272 build-system-opensuse:
274 - .native_build_job_template
275 - .native_build_artifact_template
277 job: amd64-opensuse-leap-container
279 IMAGE: opensuse-leap
280 TARGETS: s390x-softmmu x86_64-softmmu aarch64-softmmu
281 MAKE_CHECK_ARGS: check-build
283 check-system-opensuse:
286 - job: build-system-opensuse
289 IMAGE: opensuse-leap
292 functional-system-opensuse:
295 - job: build-system-opensuse
298 IMAGE: opensuse-leap
299 MAKE_CHECK_ARGS: check-functional
302 # Flaky tests. We don't run these by default and they are allow fail
306 build-system-flaky:
308 - .native_build_job_template
309 - .native_build_artifact_template
311 job: amd64-debian-container
313 IMAGE: debian
315 TARGETS: aarch64-softmmu arm-softmmu mips64el-softmmu
316 ppc64-softmmu rx-softmmu s390x-softmmu sh4-softmmu x86_64-softmmu
317 MAKE_CHECK_ARGS: check-build
319 functional-system-flaky:
322 - job: build-system-flaky
326 IMAGE: debian
327 MAKE_CHECK_ARGS: check-functional
331 # This jobs explicitly disable TCG (--disable-tcg), KVM is detected by
333 # Xen accelerator is not detected / selected. As result it build the
334 # i386-softmmu and x86_64-softmmu with KVM being the single accelerator
338 build-tcg-disabled:
341 job: amd64-centos9-container
345 - mkdir build
346 - cd build
347 - ../configure --disable-tcg --audio-drv-list="" --with-coroutine=ucontext
348 --disable-docs --disable-sdl --disable-gtk --disable-vnc
349 || { cat config.log meson-logs/meson-log.txt && exit 1; }
350 - make -j"$JOBS"
351 - make check-unit
352 - make check-qapi-schema
353 - cd tests/qemu-iotests/
354 - ./check -raw 001 002 003 004 005 008 009 010 011 012 021 025 032 033 048
356 170 171 184 192 194 208 221 226 227 236 253 277 image-fleecing
357 - ./check -qcow2 028 051 056 057 058 065 068 082 085 091 095 096 102 122
360 260 261 262 263 264 270 272 273 277 279 image-fleecing
361 - cd ../..
362 - make distclean
364 build-user:
367 job: amd64-debian-user-cross-container
369 IMAGE: debian-all-test-cross
370 CONFIGURE_ARGS: --disable-tools --disable-system
371 --target-list-exclude=alpha-linux-user,sh4-linux-user
372 MAKE_CHECK_ARGS: check-tcg
374 build-user-static:
377 job: amd64-debian-user-cross-container
379 IMAGE: debian-all-test-cross
380 CONFIGURE_ARGS: --disable-tools --disable-system --static
381 --target-list-exclude=alpha-linux-user,sh4-linux-user
382 MAKE_CHECK_ARGS: check-tcg
385 build-legacy:
388 job: amd64-debian-legacy-cross-container
390 IMAGE: debian-legacy-test-cross
391 TARGETS: alpha-linux-user alpha-softmmu sh4-linux-user
392 CONFIGURE_ARGS: --disable-tools
393 MAKE_CHECK_ARGS: check-tcg
395 build-user-hexagon:
398 job: hexagon-cross-container
400 IMAGE: debian-hexagon-cross
401 TARGETS: hexagon-linux-user
402 CONFIGURE_ARGS: --disable-tools --disable-docs --enable-debug-tcg
403 MAKE_CHECK_ARGS: check-tcg
405 # Build the softmmu targets we have check-tcg tests and compilers in
406 # our omnibus all-test-cross container. Those targets that haven't got
407 # Debian cross compiler support need to use special containers.
408 build-some-softmmu:
411 job: amd64-debian-user-cross-container
413 IMAGE: debian-all-test-cross
414 CONFIGURE_ARGS: --disable-tools --enable-debug
415 TARGETS: arm-softmmu aarch64-softmmu i386-softmmu riscv64-softmmu
416 s390x-softmmu x86_64-softmmu
417 MAKE_CHECK_ARGS: check-tcg
419 build-loongarch64:
422 job: loongarch-debian-cross-container
424 IMAGE: debian-loongarch-cross
425 CONFIGURE_ARGS: --disable-tools --enable-debug
426 TARGETS: loongarch64-linux-user loongarch64-softmmu
427 MAKE_CHECK_ARGS: check-tcg
429 # We build tricore in a very minimal tricore only container
430 build-tricore-softmmu:
433 job: tricore-debian-cross-container
435 IMAGE: debian-tricore-cross
436 CONFIGURE_ARGS: --disable-tools --disable-fdt --enable-debug
437 TARGETS: tricore-softmmu
438 MAKE_CHECK_ARGS: check-tcg
440 clang-system:
443 job: amd64-fedora-container
446 CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-ubsan
447 --extra-cflags=-fno-sanitize-recover=undefined
448 TARGETS: alpha-softmmu arm-softmmu m68k-softmmu mips64-softmmu s390x-softmmu
449 MAKE_CHECK_ARGS: check-qtest check-tcg
451 clang-user:
454 job: amd64-debian-user-cross-container
457 IMAGE: debian-all-test-cross
458 CONFIGURE_ARGS: --cc=clang --cxx=clang++ --disable-system --enable-ubsan
459--target-list-exclude=alpha-linux-user,microblazeel-linux-user,aarch64_be-linux-user,i386-linux-us…
460 --extra-cflags=-fno-sanitize-recover=undefined
461 MAKE_CHECK_ARGS: check-unit check-tcg
463 # Set LD_JOBS=1 because this requires LTO and ld consumes a large amount of memory.
464 # On gitlab runners, default value sometimes end up calling 2 lds concurrently and
465 # triggers an Out-Of-Memory error
468 # CFI builds, and thus have to disable it here.
470 # Split in three sets of build/check/functional to limit the execution time
472 build-cfi-aarch64:
474 - .native_build_job_template
475 - .native_build_artifact_template
477 - job: amd64-fedora-container
480 AR: llvm-ar
482 CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi --enable-cfi-debug
483 --enable-safe-stack --disable-slirp
484 TARGETS: aarch64-softmmu
485 MAKE_CHECK_ARGS: check-build
486 # FIXME: This job is often failing, likely due to out-of-memory problems in
492 check-cfi-aarch64:
495 - job: build-cfi-aarch64
501 functional-cfi-aarch64:
504 - job: build-cfi-aarch64
508 MAKE_CHECK_ARGS: check-functional
510 build-cfi-ppc64-s390x:
512 - .native_build_job_template
513 - .native_build_artifact_template
515 - job: amd64-fedora-container
518 AR: llvm-ar
520 CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi --enable-cfi-debug
521 --enable-safe-stack --disable-slirp
522 TARGETS: ppc64-softmmu s390x-softmmu
523 MAKE_CHECK_ARGS: check-build
524 # FIXME: This job is often failing, likely due to out-of-memory problems in
530 check-cfi-ppc64-s390x:
533 - job: build-cfi-ppc64-s390x
539 functional-cfi-ppc64-s390x:
542 - job: build-cfi-ppc64-s390x
546 MAKE_CHECK_ARGS: check-functional
548 build-cfi-x86_64:
550 - .native_build_job_template
551 - .native_build_artifact_template
553 - job: amd64-fedora-container
556 AR: llvm-ar
558 CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi --enable-cfi-debug
559 --enable-safe-stack --disable-slirp
560 TARGETS: x86_64-softmmu
561 MAKE_CHECK_ARGS: check-build
564 check-cfi-x86_64:
567 - job: build-cfi-x86_64
573 functional-cfi-x86_64:
576 - job: build-cfi-x86_64
580 MAKE_CHECK_ARGS: check-functional
582 tsan-build:
585 job: amd64-ubuntu2204-container
588 CONFIGURE_ARGS: --enable-tsan --cc=clang --cxx=clang++
589 --enable-trace-backends=ust --disable-slirp
590 TARGETS: x86_64-softmmu ppc64-softmmu riscv64-softmmu x86_64-linux-user
593 MAKE: setarch -R make
599 job: amd64-ubuntu2204-container
603 CONFIGURE_ARGS: --enable-gcov
604 TARGETS: aarch64-softmmu ppc64-softmmu s390x-softmmu x86_64-softmmu
605 MAKE_CHECK_ARGS: check-unit check-softfloat
607 - cd build
608 - gcovr --xml-pretty --exclude-unreachable-branches --print-summary
609 -o coverage.xml --root ${CI_PROJECT_DIR} . *.p
612 name: ${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHA}
616 - build/meson-logs/testlog.txt
618 junit: build/meson-logs/testlog.junit.xml
621 path: build/coverage.xml
623 build-oss-fuzz:
626 job: amd64-fedora-container
630 - mkdir build-oss-fuzz
631 - export LSAN_OPTIONS=suppressions=scripts/oss-fuzz/lsan_suppressions.txt
632 - CC="clang" CXX="clang++" CFLAGS="-fsanitize=address"
633 ./scripts/oss-fuzz/build.sh
634 - export ASAN_OPTIONS="fast_unwind_on_malloc=0"
635 - failures=0
636 - for fuzzer in $(find ./build-oss-fuzz/DEST_DIR/ -executable -type f
637 | grep -v slirp); do
640 …"${fuzzer}" -runs=1 -seed=1 || { echo "FAILED:"" ${fuzzer} exit code is $?"; failures=$(($failures…
642 - echo "Number of failures:"" $failures"
643 - test $failures = 0
645 build-tci:
648 job: amd64-debian-user-cross-container
650 IMAGE: debian-all-test-cross
652 - TARGETS="aarch64 arm hppa m68k microblaze ppc64 s390x x86_64"
653 - mkdir build
654 - cd build
655 - ../configure --enable-tcg-interpreter --disable-kvm --disable-docs --disable-gtk --disable-vnc
656 --target-list="$(for tg in $TARGETS; do echo -n ${tg}'-softmmu '; done)"
657 || { cat config.log meson-logs/meson-log.txt && exit 1; }
658 - make -j"$JOBS"
659 - make tests/qtest/boot-serial-test tests/qtest/cdrom-test tests/qtest/pxe-test
660 - for tg in $TARGETS ; do
661 export QTEST_QEMU_BINARY="./qemu-system-${tg}" ;
662 ./tests/qtest/boot-serial-test || exit 1 ;
663 ./tests/qtest/cdrom-test || exit 1 ;
665 - QTEST_QEMU_BINARY="./qemu-system-x86_64" ./tests/qtest/pxe-test
666 - QTEST_QEMU_BINARY="./qemu-system-s390x" ./tests/qtest/pxe-test -m slow
667 - make check-tcg
669 # Check our reduced build configurations
670 build-without-defaults:
673 job: amd64-centos9-container
677 --without-default-devices
678 --without-default-features
679 --disable-fdt
680 --disable-pie
681 --disable-qom-cast-debug
682 --disable-strip
683--target-list-exclude=aarch64-softmmu,microblaze-softmmu,mips64-softmmu,mipsel-softmmu,ppc64-softm…
686 build-libvhost-user:
688 stage: build
691 job: amd64-fedora-container
693 - mkdir subprojects/libvhost-user/build
694 - cd subprojects/libvhost-user/build
695 - meson
696 - ninja
698 # No targets are built here, just tools, docs, and unit tests. This
700 build-tools-and-docs-debian:
702 - .native_build_job_template
703 - .native_build_artifact_template
705 job: amd64-debian-container
706 # when running on 'master' we use pre-existing container
709 IMAGE: debian
710 MAKE_CHECK_ARGS: check-unit ctags TAGS cscope
711 CONFIGURE_ARGS: --disable-system --disable-user --enable-docs --enable-tools
721 # publish from 'stable-NNN' branches as that content is outdated.
729 image: $CI_REGISTRY_IMAGE/qemu/debian:$QEMU_CI_CONTAINER_TAG
732 - job: build-tools-and-docs-debian
734 - mkdir -p public
735 # HTML-ised source tree
736 - make gtags
739 - CI_COMMIT_MESSAGE= CI_COMMIT_TAG_MESSAGE= htags
740 -anT --tree-view=filetree -m qemu_init
741 -t "Welcome to the QEMU sourcecode"
742 - mv HTML public/src
744 - make -C build install DESTDIR=$(pwd)/temp-install
745 - mv temp-install/usr/local/share/doc/qemu/* public/
749 - public
755 stage: build
759 - job: amd64-fedora-container
762 - dnf install -y curl wget
764 …# would be nice to cancel the job if over quota (https://gitlab.com/gitlab-org/gitlab/-/issues/256…
766 …# curl --request POST --header "PRIVATE-TOKEN: $CI_JOB_TOKEN" "${CI_SERVER_URL}/api/v4/projects/…
767- 'scripts/coverity-scan/run-coverity-scan --check-upload-only || { exitcode=$?; if test $exitcode…
772 …scripts/coverity-scan/run-coverity-scan --update-tools-only > update-tools.log 2>&1 || { cat updat…
773 scripts/coverity-scan/run-coverity-scan --no-update-tools'
775 - if: '$COVERITY_TOKEN == null'
777 - if: '$COVERITY_EMAIL == null'
780 - if: '$CI_PROJECT_NAMESPACE == $QEMU_CI_UPSTREAM && $CI_PIPELINE_SOURCE == "schedule"'
782 - if: '$CI_PROJECT_NAMESPACE == $QEMU_CI_UPSTREAM'
785 - if: '$QEMU_CI != "1" && $QEMU_CI != "2"'
788 - when: manual
790 build-wasm:
794 job: wasm-emsdk-cross-container
796 IMAGE: emsdk-wasm32-cross
797 CONFIGURE_ARGS: --static --disable-tools --enable-debug --enable-tcg-interpreter