1stages: 2 - containers 3 - containers-layer2 4 - containers-layer3 5 - build 6 7include: 8 - local: '/.gitlab-ci.d/edk2.yml' 9 - local: '/.gitlab-ci.d/opensbi.yml' 10 - local: '/.gitlab-ci.d/containers.yml' 11 12.native_build_job_template: &native_build_job_definition 13 stage: build 14 image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest 15 before_script: 16 - JOBS=$(expr $(nproc) + 1) 17 script: 18 - mkdir build 19 - cd build 20 - if test -n "$TARGETS"; 21 then 22 ../configure --enable-werror $CONFIGURE_ARGS --target-list="$TARGETS" ; 23 else 24 ../configure --enable-werror $CONFIGURE_ARGS ; 25 fi 26 - make -j"$JOBS" 27 - make -j"$JOBS" $MAKE_CHECK_ARGS 28 29build-system1: 30 <<: *native_build_job_definition 31 variables: 32 IMAGE: ubuntu2004 33 TARGETS: aarch64-softmmu alpha-softmmu cris-softmmu hppa-softmmu lm32-softmmu 34 moxie-softmmu microblazeel-softmmu mips64el-softmmu m68k-softmmu ppc-softmmu 35 riscv64-softmmu sparc-softmmu 36 MAKE_CHECK_ARGS: check 37 38build-system2: 39 <<: *native_build_job_definition 40 variables: 41 IMAGE: fedora 42 TARGETS: tricore-softmmu unicore32-softmmu microblaze-softmmu mips-softmmu 43 riscv32-softmmu s390x-softmmu sh4-softmmu sparc64-softmmu x86_64-softmmu 44 xtensa-softmmu nios2-softmmu or1k-softmmu 45 MAKE_CHECK_ARGS: check 46 47build-disabled: 48 <<: *native_build_job_definition 49 variables: 50 IMAGE: fedora 51 CONFIGURE_ARGS: --disable-rdma --disable-slirp --disable-curl 52 --disable-capstone --disable-live-block-migration --disable-glusterfs 53 --disable-replication --disable-coroutine-pool --disable-smartcard 54 --disable-guest-agent --disable-curses --disable-libxml2 --disable-tpm 55 --disable-qom-cast-debug --disable-spice --disable-vhost-vsock 56 --disable-vhost-net --disable-vhost-crypto --disable-vhost-user 57 TARGETS: i386-softmmu ppc64-softmmu mips64-softmmu i386-linux-user 58 MAKE_CHECK_ARGS: check-qtest SPEED=slow 59 60build-tcg-disabled: 61 <<: *native_build_job_definition 62 variables: 63 IMAGE: centos8 64 script: 65 - mkdir build 66 - cd build 67 - ../configure --disable-tcg --audio-drv-list="" 68 - make -j"$JOBS" 69 - make check-unit 70 - make check-qapi-schema 71 - cd tests/qemu-iotests/ 72 - ./check -raw 001 002 003 004 005 008 009 010 011 012 021 025 032 033 048 73 052 063 077 086 101 104 106 113 148 150 151 152 157 159 160 163 74 170 171 183 184 192 194 197 208 215 221 222 226 227 236 253 277 75 - ./check -qcow2 028 051 056 057 058 065 067 068 082 085 091 095 096 102 122 76 124 132 139 142 144 145 151 152 155 157 165 194 196 197 200 202 77 208 209 215 216 218 222 227 234 246 247 248 250 254 255 257 258 78 260 261 262 263 264 270 272 273 277 279 79 80build-user: 81 <<: *native_build_job_definition 82 variables: 83 IMAGE: ubuntu2004 84 CONFIGURE_ARGS: --disable-system --disable-guest-agent 85 --disable-capstone --disable-slirp --disable-fdt 86 MAKE_CHECK_ARGS: run-tcg-tests-i386-linux-user run-tcg-tests-x86_64-linux-user 87 88build-clang: 89 <<: *native_build_job_definition 90 variables: 91 IMAGE: fedora 92 CONFIGURE_ARGS: --cc=clang --cxx=clang++ 93 TARGETS: alpha-softmmu arm-softmmu m68k-softmmu mips64-softmmu 94 ppc-softmmu s390x-softmmu x86_64-softmmu arm-linux-user 95 MAKE_CHECK_ARGS: check 96 97build-tci: 98 <<: *native_build_job_definition 99 variables: 100 IMAGE: fedora 101 script: 102 - TARGETS="aarch64 alpha arm hppa m68k microblaze moxie ppc64 s390x x86_64" 103 - mkdir build 104 - cd build 105 - ../configure --enable-tcg-interpreter 106 --target-list="$(for tg in $TARGETS; do echo -n ${tg}'-softmmu '; done)" 107 - make -j"$JOBS" 108 - make run-tcg-tests-x86_64-softmmu 109 - make tests/qtest/boot-serial-test tests/qtest/cdrom-test tests/qtest/pxe-test 110 - for tg in $TARGETS ; do 111 export QTEST_QEMU_BINARY="${tg}-softmmu/qemu-system-${tg}" ; 112 ./tests/qtest/boot-serial-test || exit 1 ; 113 ./tests/qtest/cdrom-test || exit 1 ; 114 done 115 - QTEST_QEMU_BINARY="x86_64-softmmu/qemu-system-x86_64" ./tests/qtest/pxe-test 116 - QTEST_QEMU_BINARY="s390x-softmmu/qemu-system-s390x" ./tests/qtest/pxe-test -m slow 117