gitlab: convert jobs to use custom built containers
[qemu/ar7.git] / .gitlab-ci.yml
bloba7abc55a5c6a8e4be393fdcd51dca13153442146
1 stages:
2   - containers
3   - containers-layer2
4   - containers-layer3
5   - build
7 include:
8   - local: '/.gitlab-ci.d/edk2.yml'
9   - local: '/.gitlab-ci.d/opensbi.yml'
10   - local: '/.gitlab-ci.d/containers.yml'
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
29 build-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
38 build-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
47 build-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
60 build-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
80 build-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
88 build-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
97 build-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