]>
Commit | Line | Data |
---|---|---|
c5008c76 AB |
1 | # Currently we have two build stages after our containers are built: |
2 | # - build (for traditional build and test or first stage build) | |
3 | # - test (for test stages, using build artefacts from a build stage) | |
d0caa0a8 DB |
4 | stages: |
5 | - containers | |
fa821f23 | 6 | - containers-layer2 |
d0caa0a8 | 7 | - build |
c5008c76 | 8 | - test |
d0caa0a8 | 9 | |
71920809 | 10 | include: |
922febe2 TH |
11 | - local: '/.gitlab-ci.d/edk2.yml' |
12 | - local: '/.gitlab-ci.d/opensbi.yml' | |
fa821f23 | 13 | - local: '/.gitlab-ci.d/containers.yml' |
6bcb5fc0 | 14 | - local: '/.gitlab-ci.d/crossbuilds.yml' |
71920809 | 15 | |
c962864f DB |
16 | .native_build_job_template: &native_build_job_definition |
17 | stage: build | |
18 | image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest | |
19 | before_script: | |
20 | - JOBS=$(expr $(nproc) + 1) | |
8d77ce1d | 21 | - sed -i s,git.qemu.org/git,gitlab.com/qemu-project, .gitmodules |
c962864f DB |
22 | script: |
23 | - mkdir build | |
24 | - cd build | |
25 | - if test -n "$TARGETS"; | |
26 | then | |
27 | ../configure --enable-werror $CONFIGURE_ARGS --target-list="$TARGETS" ; | |
28 | else | |
29 | ../configure --enable-werror $CONFIGURE_ARGS ; | |
c47110d9 | 30 | fi || { cat config.log meson-logs/meson-log.txt && exit 1; } |
c962864f | 31 | - make -j"$JOBS" |
c5008c76 AB |
32 | - if test -n "$MAKE_CHECK_ARGS"; |
33 | then | |
a6eeac3b | 34 | make -j"$JOBS" $MAKE_CHECK_ARGS ; |
c5008c76 AB |
35 | fi |
36 | ||
37 | .native_test_job_template: &native_test_job_definition | |
38 | stage: test | |
39 | image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest | |
40 | script: | |
41 | - cd build | |
42 | - find . -type f -exec touch {} + | |
43 | - make $MAKE_CHECK_ARGS | |
44 | ||
5896c539 TH |
45 | .acceptance_template: &acceptance_definition |
46 | cache: | |
47 | key: "${CI_JOB_NAME}-cache" | |
48 | paths: | |
49 | - ${CI_PROJECT_DIR}/avocado-cache | |
50 | policy: pull-push | |
ec4d2feb | 51 | artifacts: |
df063546 WSM |
52 | name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" |
53 | when: always | |
54 | expire_in: 2 days | |
ec4d2feb CR |
55 | paths: |
56 | - build/tests/results/latest/results.xml | |
df063546 | 57 | - build/tests/results/latest/test-results |
ec4d2feb CR |
58 | reports: |
59 | junit: build/tests/results/latest/results.xml | |
5896c539 TH |
60 | before_script: |
61 | - mkdir -p ~/.config/avocado | |
62 | - echo "[datadir.paths]" > ~/.config/avocado/avocado.conf | |
63 | - echo "cache_dirs = ['${CI_PROJECT_DIR}/avocado-cache']" | |
64 | >> ~/.config/avocado/avocado.conf | |
ba2232ba WSM |
65 | - echo -e '[job.output.testlogs]\nstatuses = ["FAIL"]' |
66 | >> ~/.config/avocado/avocado.conf | |
5896c539 TH |
67 | - if [ -d ${CI_PROJECT_DIR}/avocado-cache ]; then |
68 | du -chs ${CI_PROJECT_DIR}/avocado-cache ; | |
69 | fi | |
67202bae | 70 | - export AVOCADO_ALLOW_UNTRUSTED_CODE=1 |
c5008c76 AB |
71 | after_script: |
72 | - cd build | |
5896c539 | 73 | - du -chs ${CI_PROJECT_DIR}/avocado-cache |
0a8b05c7 | 74 | |
699616db | 75 | build-system-ubuntu: |
c962864f DB |
76 | <<: *native_build_job_definition |
77 | variables: | |
78 | IMAGE: ubuntu2004 | |
699616db TH |
79 | TARGETS: aarch64-softmmu alpha-softmmu cris-softmmu hppa-softmmu |
80 | moxie-softmmu microblazeel-softmmu mips64el-softmmu | |
a6eeac3b | 81 | MAKE_CHECK_ARGS: check-build |
c5008c76 | 82 | artifacts: |
0a796d63 | 83 | expire_in: 2 days |
c5008c76 AB |
84 | paths: |
85 | - build | |
86 | ||
699616db | 87 | check-system-ubuntu: |
c5008c76 AB |
88 | <<: *native_test_job_definition |
89 | needs: | |
699616db | 90 | - job: build-system-ubuntu |
c5008c76 AB |
91 | artifacts: true |
92 | variables: | |
93 | IMAGE: ubuntu2004 | |
c962864f | 94 | MAKE_CHECK_ARGS: check |
0a8b05c7 | 95 | |
699616db | 96 | acceptance-system-ubuntu: |
c5008c76 AB |
97 | <<: *native_test_job_definition |
98 | needs: | |
699616db | 99 | - job: build-system-ubuntu |
c5008c76 AB |
100 | artifacts: true |
101 | variables: | |
102 | IMAGE: ubuntu2004 | |
103 | MAKE_CHECK_ARGS: check-acceptance | |
5896c539 | 104 | <<: *acceptance_definition |
c5008c76 | 105 | |
699616db TH |
106 | build-system-debian: |
107 | <<: *native_build_job_definition | |
108 | variables: | |
109 | IMAGE: debian-amd64 | |
110 | TARGETS: arm-softmmu avr-softmmu i386-softmmu mipsel-softmmu | |
111 | riscv64-softmmu sh4eb-softmmu sparc-softmmu xtensaeb-softmmu | |
112 | MAKE_CHECK_ARGS: check-build | |
113 | artifacts: | |
0a796d63 | 114 | expire_in: 2 days |
699616db TH |
115 | paths: |
116 | - build | |
117 | ||
118 | check-system-debian: | |
119 | <<: *native_test_job_definition | |
120 | needs: | |
121 | - job: build-system-debian | |
122 | artifacts: true | |
123 | variables: | |
124 | IMAGE: debian-amd64 | |
125 | MAKE_CHECK_ARGS: check | |
126 | ||
a8a3abe0 AB |
127 | build-tools-and-docs-debian: |
128 | <<: *native_build_job_definition | |
129 | variables: | |
130 | IMAGE: debian-amd64 | |
131 | MAKE_CHECK_ARGS: ctags TAGS cscope | |
132 | CONFIGURE_ARGS: --disable-system --disable-user --enable-docs --enable-tools | |
133 | artifacts: | |
134 | expire_in: 2 days | |
135 | paths: | |
136 | - build | |
137 | ||
699616db TH |
138 | acceptance-system-debian: |
139 | <<: *native_test_job_definition | |
140 | needs: | |
141 | - job: build-system-debian | |
142 | artifacts: true | |
143 | variables: | |
144 | IMAGE: debian-amd64 | |
145 | MAKE_CHECK_ARGS: check-acceptance | |
5896c539 | 146 | <<: *acceptance_definition |
699616db TH |
147 | |
148 | build-system-fedora: | |
c962864f DB |
149 | <<: *native_build_job_definition |
150 | variables: | |
151 | IMAGE: fedora | |
d0f26e68 | 152 | CONFIGURE_ARGS: --disable-gcrypt --enable-nettle --enable-docs |
3ffc7f01 | 153 | TARGETS: tricore-softmmu microblaze-softmmu mips-softmmu |
699616db | 154 | xtensa-softmmu m68k-softmmu riscv32-softmmu ppc-softmmu sparc64-softmmu |
a6eeac3b | 155 | MAKE_CHECK_ARGS: check-build |
c5008c76 | 156 | artifacts: |
0a796d63 | 157 | expire_in: 2 days |
c5008c76 AB |
158 | paths: |
159 | - build | |
160 | ||
699616db | 161 | check-system-fedora: |
c5008c76 AB |
162 | <<: *native_test_job_definition |
163 | needs: | |
699616db | 164 | - job: build-system-fedora |
c5008c76 AB |
165 | artifacts: true |
166 | variables: | |
167 | IMAGE: fedora | |
c962864f | 168 | MAKE_CHECK_ARGS: check |
0a8b05c7 | 169 | |
699616db | 170 | acceptance-system-fedora: |
c5008c76 AB |
171 | <<: *native_test_job_definition |
172 | needs: | |
699616db | 173 | - job: build-system-fedora |
c5008c76 AB |
174 | artifacts: true |
175 | variables: | |
176 | IMAGE: fedora | |
177 | MAKE_CHECK_ARGS: check-acceptance | |
5896c539 | 178 | <<: *acceptance_definition |
c5008c76 | 179 | |
699616db TH |
180 | build-system-centos: |
181 | <<: *native_build_job_definition | |
182 | variables: | |
183 | IMAGE: centos8 | |
affcc09c | 184 | CONFIGURE_ARGS: --disable-nettle --enable-gcrypt |
3ffc7f01 | 185 | TARGETS: ppc64-softmmu or1k-softmmu s390x-softmmu |
699616db TH |
186 | x86_64-softmmu rx-softmmu sh4-softmmu nios2-softmmu |
187 | MAKE_CHECK_ARGS: check-build | |
188 | artifacts: | |
0a796d63 | 189 | expire_in: 2 days |
699616db TH |
190 | paths: |
191 | - build | |
192 | ||
193 | check-system-centos: | |
194 | <<: *native_test_job_definition | |
195 | needs: | |
196 | - job: build-system-centos | |
197 | artifacts: true | |
198 | variables: | |
199 | IMAGE: centos8 | |
200 | MAKE_CHECK_ARGS: check | |
201 | ||
202 | acceptance-system-centos: | |
203 | <<: *native_test_job_definition | |
204 | needs: | |
205 | - job: build-system-centos | |
206 | artifacts: true | |
207 | variables: | |
208 | IMAGE: centos8 | |
209 | MAKE_CHECK_ARGS: check-acceptance | |
5896c539 | 210 | <<: *acceptance_definition |
699616db | 211 | |
b115ea3a CYC |
212 | build-system-opensuse: |
213 | <<: *native_build_job_definition | |
214 | variables: | |
215 | IMAGE: opensuse-leap | |
216 | TARGETS: s390x-softmmu x86_64-softmmu aarch64-softmmu | |
217 | MAKE_CHECK_ARGS: check-build | |
218 | artifacts: | |
219 | expire_in: 2 days | |
220 | paths: | |
221 | - build | |
222 | ||
223 | check-system-opensuse: | |
224 | <<: *native_test_job_definition | |
225 | needs: | |
226 | - job: build-system-opensuse | |
227 | artifacts: true | |
228 | variables: | |
229 | IMAGE: opensuse-leap | |
230 | MAKE_CHECK_ARGS: check | |
231 | ||
232 | acceptance-system-opensuse: | |
233 | <<: *native_test_job_definition | |
234 | needs: | |
235 | - job: build-system-opensuse | |
236 | artifacts: true | |
237 | variables: | |
238 | IMAGE: opensuse-leap | |
239 | MAKE_CHECK_ARGS: check-acceptance | |
240 | <<: *acceptance_definition | |
241 | ||
242 | ||
0a8b05c7 | 243 | build-disabled: |
c962864f DB |
244 | <<: *native_build_job_definition |
245 | variables: | |
246 | IMAGE: fedora | |
94a4f816 PMD |
247 | CONFIGURE_ARGS: |
248 | --disable-attr | |
0c4d885f | 249 | --disable-auth-pam |
94a4f816 PMD |
250 | --disable-avx2 |
251 | --disable-bochs | |
252 | --disable-brlapi | |
253 | --disable-bzip2 | |
254 | --disable-cap-ng | |
255 | --disable-capstone | |
256 | --disable-cloop | |
257 | --disable-coroutine-pool | |
258 | --disable-curl | |
259 | --disable-curses | |
260 | --disable-dmg | |
261 | --disable-docs | |
0c4d885f | 262 | --disable-gcrypt |
94a4f816 PMD |
263 | --disable-glusterfs |
264 | --disable-gnutls | |
265 | --disable-gtk | |
266 | --disable-guest-agent | |
267 | --disable-iconv | |
0c4d885f | 268 | --disable-keyring |
94a4f816 PMD |
269 | --disable-kvm |
270 | --disable-libiscsi | |
271 | --disable-libpmem | |
272 | --disable-libssh | |
0c4d885f | 273 | --disable-libudev |
94a4f816 PMD |
274 | --disable-libusb |
275 | --disable-libxml2 | |
276 | --disable-linux-aio | |
277 | --disable-live-block-migration | |
278 | --disable-lzo | |
279 | --disable-malloc-trim | |
280 | --disable-mpath | |
281 | --disable-nettle | |
282 | --disable-numa | |
0c4d885f | 283 | --disable-opengl |
94a4f816 PMD |
284 | --disable-parallels |
285 | --disable-pie | |
286 | --disable-qcow1 | |
287 | --disable-qed | |
288 | --disable-qom-cast-debug | |
289 | --disable-rbd | |
290 | --disable-rdma | |
291 | --disable-replication | |
292 | --disable-sdl | |
293 | --disable-seccomp | |
294 | --disable-sheepdog | |
295 | --disable-slirp | |
296 | --disable-smartcard | |
297 | --disable-snappy | |
0c4d885f | 298 | --disable-sparse |
94a4f816 PMD |
299 | --disable-spice |
300 | --disable-strip | |
301 | --disable-tpm | |
302 | --disable-usb-redir | |
303 | --disable-vdi | |
304 | --disable-vhost-crypto | |
305 | --disable-vhost-net | |
306 | --disable-vhost-scsi | |
307 | --disable-vhost-user | |
308 | --disable-vhost-vdpa | |
309 | --disable-vhost-vsock | |
310 | --disable-virglrenderer | |
311 | --disable-vnc | |
312 | --disable-vte | |
313 | --disable-vvfat | |
314 | --disable-xen | |
315 | --disable-zstd | |
a7524adb TH |
316 | TARGETS: arm-softmmu i386-softmmu ppc64-softmmu mips64-softmmu |
317 | s390x-softmmu i386-linux-user | |
c962864f | 318 | MAKE_CHECK_ARGS: check-qtest SPEED=slow |
0a8b05c7 | 319 | |
37b6fd66 PMD |
320 | # This jobs explicitly disable TCG (--disable-tcg), KVM is detected by |
321 | # the configure script. The container doesn't contain Xen headers so | |
322 | # Xen accelerator is not detected / selected. As result it build the | |
323 | # i386-softmmu and x86_64-softmmu with KVM being the single accelerator | |
324 | # available. | |
0a8b05c7 | 325 | build-tcg-disabled: |
c962864f DB |
326 | <<: *native_build_job_definition |
327 | variables: | |
328 | IMAGE: centos8 | |
329 | script: | |
330 | - mkdir build | |
331 | - cd build | |
c47110d9 | 332 | - ../configure --disable-tcg --audio-drv-list="" || { cat config.log meson-logs/meson-log.txt && exit 1; } |
c962864f DB |
333 | - make -j"$JOBS" |
334 | - make check-unit | |
335 | - make check-qapi-schema | |
336 | - cd tests/qemu-iotests/ | |
337 | - ./check -raw 001 002 003 004 005 008 009 010 011 012 021 025 032 033 048 | |
c7cf4ddb TH |
338 | 052 063 077 086 101 104 106 113 148 150 151 152 157 159 160 163 |
339 | 170 171 183 184 192 194 197 208 215 221 222 226 227 236 253 277 | |
d8a18da5 | 340 | - ./check -qcow2 028 051 056 057 058 065 068 082 085 091 095 096 102 122 |
c7cf4ddb TH |
341 | 124 132 139 142 144 145 151 152 155 157 165 194 196 197 200 202 |
342 | 208 209 215 216 218 222 227 234 246 247 248 250 254 255 257 258 | |
343 | 260 261 262 263 264 270 272 273 277 279 | |
0a8b05c7 TH |
344 | |
345 | build-user: | |
c962864f DB |
346 | <<: *native_build_job_definition |
347 | variables: | |
62c902e0 AB |
348 | IMAGE: debian-all-test-cross |
349 | CONFIGURE_ARGS: --disable-tools --disable-system | |
350 | MAKE_CHECK_ARGS: check-tcg | |
0a8b05c7 | 351 | |
d01bc253 PMD |
352 | build-user-static: |
353 | <<: *native_build_job_definition | |
354 | variables: | |
355 | IMAGE: debian-all-test-cross | |
356 | CONFIGURE_ARGS: --disable-tools --disable-system --static | |
357 | MAKE_CHECK_ARGS: check-tcg | |
358 | ||
ac74e282 AB |
359 | # Only build the softmmu targets we have check-tcg tests for |
360 | build-some-softmmu: | |
361 | <<: *native_build_job_definition | |
362 | variables: | |
363 | IMAGE: debian-all-test-cross | |
364 | CONFIGURE_ARGS: --disable-tools --enable-debug-tcg | |
365 | TARGETS: xtensa-softmmu arm-softmmu aarch64-softmmu alpha-softmmu | |
366 | MAKE_CHECK_ARGS: check-tcg | |
367 | ||
8cdb2cef AB |
368 | # Run check-tcg against linux-user (with plugins) |
369 | # we skip sparc64-linux-user until it has been fixed somewhat | |
370 | # we skip cris-linux-user as it doesn't use the common run loop | |
371 | build-user-plugins: | |
372 | <<: *native_build_job_definition | |
373 | variables: | |
374 | IMAGE: debian-all-test-cross | |
375 | CONFIGURE_ARGS: --disable-tools --disable-system --enable-plugins --enable-debug-tcg --target-list-exclude=sparc64-linux-user,cris-linux-user | |
376 | MAKE_CHECK_ARGS: check-tcg | |
377 | timeout: 1h 30m | |
378 | ||
ac74e282 AB |
379 | build-some-softmmu-plugins: |
380 | <<: *native_build_job_definition | |
381 | variables: | |
382 | IMAGE: debian-all-test-cross | |
383 | CONFIGURE_ARGS: --disable-tools --disable-user --enable-plugins --enable-debug-tcg | |
384 | TARGETS: xtensa-softmmu arm-softmmu aarch64-softmmu alpha-softmmu | |
385 | MAKE_CHECK_ARGS: check-tcg | |
386 | ||
0a8b05c7 | 387 | build-clang: |
c962864f DB |
388 | <<: *native_build_job_definition |
389 | variables: | |
390 | IMAGE: fedora | |
391 | CONFIGURE_ARGS: --cc=clang --cxx=clang++ | |
392 | TARGETS: alpha-softmmu arm-softmmu m68k-softmmu mips64-softmmu | |
b610eba3 | 393 | ppc-softmmu s390x-softmmu arm-linux-user |
c962864f | 394 | MAKE_CHECK_ARGS: check |
5f55d64b | 395 | |
1c0c06b1 AB |
396 | # These targets are on the way out |
397 | build-deprecated: | |
398 | <<: *native_build_job_definition | |
399 | variables: | |
400 | IMAGE: debian-all-test-cross | |
3ffc7f01 | 401 | CONFIGURE_ARGS: --disable-docs --disable-tools |
2614670b | 402 | MAKE_CHECK_ARGS: build-tcg |
3ffc7f01 AB |
403 | TARGETS: ppc64abi32-linux-user tilegx-linux-user lm32-softmmu |
404 | unicore32-softmmu | |
2614670b AB |
405 | artifacts: |
406 | expire_in: 2 days | |
407 | paths: | |
408 | - build | |
409 | ||
410 | # We split the check-tcg step as test failures are expected but we still | |
411 | # want to catch the build breaking. | |
412 | check-deprecated: | |
413 | <<: *native_test_job_definition | |
414 | needs: | |
415 | - job: build-deprecated | |
416 | artifacts: true | |
417 | variables: | |
418 | IMAGE: debian-all-test-cross | |
419 | MAKE_CHECK_ARGS: check-tcg | |
1c0c06b1 AB |
420 | allow_failure: true |
421 | ||
48eac101 | 422 | build-oss-fuzz: |
b610eba3 TH |
423 | <<: *native_build_job_definition |
424 | variables: | |
425 | IMAGE: fedora | |
426 | script: | |
48eac101 AB |
427 | - mkdir build-oss-fuzz |
428 | - CC="clang" CXX="clang++" CFLAGS="-fsanitize=address" | |
429 | ./scripts/oss-fuzz/build.sh | |
5ab04d5e | 430 | - export ASAN_OPTIONS="fast_unwind_on_malloc=0" |
48eac101 AB |
431 | - for fuzzer in $(find ./build-oss-fuzz/DEST_DIR/ -executable -type f |
432 | | grep -v slirp); do | |
433 | grep "LLVMFuzzerTestOneInput" ${fuzzer} > /dev/null 2>&1 || continue ; | |
434 | echo Testing ${fuzzer} ... ; | |
320c6e78 | 435 | "${fuzzer}" -runs=1 -seed=1 || exit 1 ; |
b610eba3 | 436 | done |
5ab04d5e TH |
437 | # Unrelated to fuzzer: run some tests with -fsanitize=address |
438 | - cd build-oss-fuzz && make check-qtest-i386 check-unit | |
b610eba3 | 439 | |
5f55d64b | 440 | build-tci: |
c962864f DB |
441 | <<: *native_build_job_definition |
442 | variables: | |
443 | IMAGE: fedora | |
444 | script: | |
445 | - TARGETS="aarch64 alpha arm hppa m68k microblaze moxie ppc64 s390x x86_64" | |
446 | - mkdir build | |
447 | - cd build | |
448 | - ../configure --enable-tcg-interpreter | |
c47110d9 | 449 | --target-list="$(for tg in $TARGETS; do echo -n ${tg}'-softmmu '; done)" || { cat config.log meson-logs/meson-log.txt && exit 1; } |
c962864f DB |
450 | - make -j"$JOBS" |
451 | - make run-tcg-tests-x86_64-softmmu | |
452 | - make tests/qtest/boot-serial-test tests/qtest/cdrom-test tests/qtest/pxe-test | |
453 | - for tg in $TARGETS ; do | |
64ed6f92 | 454 | export QTEST_QEMU_BINARY="./qemu-system-${tg}" ; |
c962864f DB |
455 | ./tests/qtest/boot-serial-test || exit 1 ; |
456 | ./tests/qtest/cdrom-test || exit 1 ; | |
457 | done | |
64ed6f92 PB |
458 | - QTEST_QEMU_BINARY="./qemu-system-x86_64" ./tests/qtest/pxe-test |
459 | - QTEST_QEMU_BINARY="./qemu-system-s390x" ./tests/qtest/pxe-test -m slow | |
affcc09c | 460 | |
d1a8b308 PMD |
461 | # Alternate coroutines implementations are only really of interest to KVM users |
462 | # However we can't test against KVM on Gitlab-CI so we can only run unit tests | |
463 | build-coroutine-ucontext: | |
464 | <<: *native_build_job_definition | |
465 | variables: | |
466 | IMAGE: ubuntu2004 | |
467 | CONFIGURE_ARGS: --with-coroutine=ucontext --disable-tcg | |
468 | MAKE_CHECK_ARGS: check-unit | |
469 | ||
470 | build-coroutine-sigaltstack: | |
471 | <<: *native_build_job_definition | |
472 | variables: | |
473 | IMAGE: ubuntu2004 | |
474 | CONFIGURE_ARGS: --with-coroutine=sigaltstack --disable-tcg | |
475 | MAKE_CHECK_ARGS: check-unit | |
476 | ||
affcc09c DB |
477 | # Most jobs test latest gcrypt or nettle builds |
478 | # | |
479 | # These jobs test old gcrypt and nettle from RHEL7 | |
480 | # which had some API differences. | |
481 | build-crypto-old-nettle: | |
482 | <<: *native_build_job_definition | |
483 | variables: | |
484 | IMAGE: centos7 | |
485 | TARGETS: x86_64-softmmu x86_64-linux-user | |
486 | CONFIGURE_ARGS: --disable-gcrypt --enable-nettle | |
487 | MAKE_CHECK_ARGS: check-build | |
488 | artifacts: | |
489 | paths: | |
490 | - build | |
491 | ||
492 | check-crypto-old-nettle: | |
493 | <<: *native_test_job_definition | |
494 | needs: | |
495 | - job: build-crypto-old-nettle | |
496 | artifacts: true | |
497 | variables: | |
498 | IMAGE: centos7 | |
499 | MAKE_CHECK_ARGS: check | |
500 | ||
501 | ||
502 | build-crypto-old-gcrypt: | |
503 | <<: *native_build_job_definition | |
504 | variables: | |
505 | IMAGE: centos7 | |
506 | TARGETS: x86_64-softmmu x86_64-linux-user | |
507 | CONFIGURE_ARGS: --disable-nettle --enable-gcrypt | |
508 | MAKE_CHECK_ARGS: check-build | |
509 | artifacts: | |
510 | paths: | |
511 | - build | |
512 | ||
513 | check-crypto-old-gcrypt: | |
514 | <<: *native_test_job_definition | |
515 | needs: | |
516 | - job: build-crypto-old-gcrypt | |
517 | artifacts: true | |
518 | variables: | |
519 | IMAGE: centos7 | |
520 | MAKE_CHECK_ARGS: check | |
521 | ||
522 | ||
523 | build-crypto-only-gnutls: | |
524 | <<: *native_build_job_definition | |
525 | variables: | |
526 | IMAGE: centos7 | |
527 | TARGETS: x86_64-softmmu x86_64-linux-user | |
528 | CONFIGURE_ARGS: --disable-nettle --disable-gcrypt --enable-gnutls | |
529 | MAKE_CHECK_ARGS: check-build | |
530 | artifacts: | |
531 | paths: | |
532 | - build | |
533 | ||
534 | check-crypto-only-gnutls: | |
535 | <<: *native_test_job_definition | |
536 | needs: | |
537 | - job: build-crypto-only-gnutls | |
538 | artifacts: true | |
539 | variables: | |
540 | IMAGE: centos7 | |
541 | MAKE_CHECK_ARGS: check | |
1f475472 | 542 | |
1352d568 PMD |
543 | # We don't need to exercise every backend with every front-end |
544 | build-trace-multi-user: | |
545 | <<: *native_build_job_definition | |
546 | variables: | |
547 | IMAGE: ubuntu2004 | |
548 | CONFIGURE_ARGS: --enable-trace-backends=log,simple,syslog --disable-system | |
549 | ||
550 | build-trace-ftrace-system: | |
551 | <<: *native_build_job_definition | |
552 | variables: | |
553 | IMAGE: ubuntu2004 | |
554 | CONFIGURE_ARGS: --enable-trace-backends=ftrace --target-list=x86_64-softmmu | |
555 | ||
556 | build-trace-ust-system: | |
557 | <<: *native_build_job_definition | |
558 | variables: | |
559 | IMAGE: ubuntu2004 | |
560 | CONFIGURE_ARGS: --enable-trace-backends=ust --target-list=x86_64-softmmu | |
1f475472 | 561 | |
3fed93f3 AB |
562 | # Check our reduced build configurations |
563 | build-without-default-devices: | |
564 | <<: *native_build_job_definition | |
565 | variables: | |
566 | IMAGE: centos8 | |
567 | CONFIGURE_ARGS: --without-default-devices --disable-user | |
568 | ||
53f41245 AB |
569 | build-without-default-features: |
570 | <<: *native_build_job_definition | |
571 | variables: | |
572 | IMAGE: debian-amd64 | |
573 | CONFIGURE_ARGS: --without-default-features --disable-user | |
574 | MAKE_CHECK_ARGS: check-unit | |
575 | ||
1f475472 DB |
576 | check-patch: |
577 | stage: build | |
578 | image: $CI_REGISTRY_IMAGE/qemu/centos8:latest | |
579 | script: .gitlab-ci.d/check-patch.py | |
580 | except: | |
581 | variables: | |
582 | - $CI_PROJECT_NAMESPACE == 'qemu-project' && $CI_COMMIT_BRANCH == 'master' | |
583 | variables: | |
584 | GIT_DEPTH: 1000 | |
585 | allow_failure: true | |
34ed46a2 DB |
586 | |
587 | check-dco: | |
588 | stage: build | |
589 | image: $CI_REGISTRY_IMAGE/qemu/centos8:latest | |
590 | script: .gitlab-ci.d/check-dco.py | |
591 | except: | |
592 | variables: | |
593 | - $CI_PROJECT_NAMESPACE == 'qemu-project' && $CI_COMMIT_BRANCH == 'master' | |
594 | variables: | |
595 | GIT_DEPTH: 1000 | |
4daa9055 | 596 | |
c4698e36 MAL |
597 | build-libvhost-user: |
598 | stage: build | |
599 | image: $CI_REGISTRY_IMAGE/qemu/fedora:latest | |
600 | before_script: | |
601 | - dnf install -y meson ninja-build | |
602 | script: | |
603 | - mkdir subprojects/libvhost-user/build | |
604 | - cd subprojects/libvhost-user/build | |
605 | - meson | |
606 | - ninja | |
607 | ||
a8a3abe0 AB |
608 | # Prepare for GitLab pages deployment. Anything copied into the |
609 | # "public" directory will be deployed to $USER.gitlab.io/$PROJECT | |
4daa9055 | 610 | pages: |
a8a3abe0 | 611 | image: $CI_REGISTRY_IMAGE/qemu/debian-amd64:latest |
4daa9055 DB |
612 | stage: test |
613 | needs: | |
a8a3abe0 | 614 | - job: build-tools-and-docs-debian |
4daa9055 | 615 | script: |
a8a3abe0 AB |
616 | - mkdir -p public |
617 | # HTML-ised source tree | |
618 | - make gtags | |
619 | - htags -anT --tree-view=filetree -m qemu_init | |
620 | -t "Welcome to the QEMU sourcecode" | |
621 | - mv HTML public/src | |
622 | # Project documentation | |
4daa9055 DB |
623 | - mv build/docs/index.html public/ |
624 | - for i in devel interop specs system tools user ; do mv build/docs/$i public/ ; done | |
625 | artifacts: | |
626 | paths: | |
627 | - public |