1.cross_system_build_job: 2 extends: .base_job_template 3 stage: build 4 image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG 5 timeout: 80m 6 script: 7 - mkdir build 8 - cd build 9 - ../configure --enable-werror --disable-docs --enable-fdt=system 10 --disable-user $QEMU_CONFIGURE_OPTS $EXTRA_CONFIGURE_OPTS 11 --target-list-exclude="arm-softmmu cris-softmmu 12 i386-softmmu microblaze-softmmu mips-softmmu mipsel-softmmu 13 mips64-softmmu ppc-softmmu riscv32-softmmu sh4-softmmu 14 sparc-softmmu xtensa-softmmu $CROSS_SKIP_TARGETS" 15 - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS 16 - if grep -q "EXESUF=.exe" config-host.mak; 17 then make installer; 18 version="$(git describe --match v[0-9]* 2>/dev/null || git rev-parse --short HEAD)"; 19 mv -v qemu-setup*.exe qemu-setup-${version}.exe; 20 fi 21 22# Job to cross-build specific accelerators. 23# 24# Set the $ACCEL variable to select the specific accelerator (default to 25# KVM), and set extra options (such disabling other accelerators) via the 26# $EXTRA_CONFIGURE_OPTS variable. 27.cross_accel_build_job: 28 extends: .base_job_template 29 stage: build 30 image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG 31 timeout: 30m 32 script: 33 - mkdir build 34 - cd build 35 - ../configure --enable-werror --disable-docs $QEMU_CONFIGURE_OPTS 36 --disable-tools --enable-${ACCEL:-kvm} $EXTRA_CONFIGURE_OPTS 37 - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS 38 39.cross_user_build_job: 40 extends: .base_job_template 41 stage: build 42 image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG 43 script: 44 - mkdir build 45 - cd build 46 - ../configure --enable-werror --disable-docs $QEMU_CONFIGURE_OPTS 47 --disable-system --target-list-exclude="aarch64_be-linux-user 48 alpha-linux-user cris-linux-user m68k-linux-user microblazeel-linux-user 49 nios2-linux-user or1k-linux-user ppc-linux-user sparc-linux-user 50 xtensa-linux-user $CROSS_SKIP_TARGETS" 51 - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS 52 53# We can still run some tests on some of our cross build jobs. They can add this 54# template to their extends to save the build logs and test results 55.cross_test_artifacts: 56 artifacts: 57 name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" 58 when: always 59 expire_in: 7 days 60 paths: 61 - build/meson-logs/testlog.txt 62 reports: 63 junit: build/meson-logs/testlog.junit.xml 64