xref: /qemu/.gitlab-ci.yml (revision c962864f)
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