]> git.proxmox.com Git - mirror_qemu.git/blame - .gitlab-ci.d/buildtest.yml
tests/lcitool: add swtpm to the package list
[mirror_qemu.git] / .gitlab-ci.d / buildtest.yml
CommitLineData
f2f5c3e6
PMD
1include:
2 - local: '/.gitlab-ci.d/buildtest-template.yml'
3
4build-system-alpine:
88b19e4e
AB
5 extends:
6 - .native_build_job_template
7 - .native_build_artifact_template
f2f5c3e6
PMD
8 needs:
9 - job: amd64-alpine-container
10 variables:
11 IMAGE: alpine
d4f784c5 12 TARGETS: avr-softmmu loongarch64-softmmu mips64-softmmu mipsel-softmmu
f2f5c3e6
PMD
13 MAKE_CHECK_ARGS: check-build
14 CONFIGURE_ARGS: --enable-docs --enable-trace-backends=log,simple,syslog
f2f5c3e6
PMD
15
16check-system-alpine:
17 extends: .native_test_job_template
18 needs:
19 - job: build-system-alpine
20 artifacts: true
21 variables:
22 IMAGE: alpine
f178c62a 23 MAKE_CHECK_ARGS: check-unit check-qtest
f2f5c3e6 24
bbbd9b6e
WR
25avocado-system-alpine:
26 extends: .avocado_test_job_template
f2f5c3e6
PMD
27 needs:
28 - job: build-system-alpine
29 artifacts: true
30 variables:
31 IMAGE: alpine
bbbd9b6e 32 MAKE_CHECK_ARGS: check-avocado
f2f5c3e6
PMD
33
34build-system-ubuntu:
88b19e4e
AB
35 extends:
36 - .native_build_job_template
37 - .native_build_artifact_template
f2f5c3e6 38 needs:
171080d8 39 job: amd64-ubuntu2204-container
f2f5c3e6 40 variables:
171080d8 41 IMAGE: ubuntu2204
eda2321d 42 CONFIGURE_ARGS: --enable-docs
6eda5ef5 43 TARGETS: alpha-softmmu cris-softmmu hppa-softmmu
f2f5c3e6
PMD
44 microblazeel-softmmu mips64el-softmmu
45 MAKE_CHECK_ARGS: check-build
f2f5c3e6
PMD
46
47check-system-ubuntu:
48 extends: .native_test_job_template
49 needs:
50 - job: build-system-ubuntu
51 artifacts: true
52 variables:
171080d8 53 IMAGE: ubuntu2204
f2f5c3e6
PMD
54 MAKE_CHECK_ARGS: check
55
bbbd9b6e
WR
56avocado-system-ubuntu:
57 extends: .avocado_test_job_template
f2f5c3e6
PMD
58 needs:
59 - job: build-system-ubuntu
60 artifacts: true
61 variables:
171080d8 62 IMAGE: ubuntu2204
bbbd9b6e 63 MAKE_CHECK_ARGS: check-avocado
f2f5c3e6
PMD
64
65build-system-debian:
88b19e4e
AB
66 extends:
67 - .native_build_job_template
68 - .native_build_artifact_template
f2f5c3e6
PMD
69 needs:
70 job: amd64-debian-container
71 variables:
72 IMAGE: debian-amd64
2f5a375f 73 CONFIGURE_ARGS: --with-coroutine=sigaltstack
d4f784c5
TH
74 TARGETS: arm-softmmu i386-softmmu riscv64-softmmu sh4eb-softmmu
75 sparc-softmmu xtensaeb-softmmu
f2f5c3e6 76 MAKE_CHECK_ARGS: check-build
f2f5c3e6
PMD
77
78check-system-debian:
79 extends: .native_test_job_template
80 needs:
81 - job: build-system-debian
82 artifacts: true
83 variables:
84 IMAGE: debian-amd64
85 MAKE_CHECK_ARGS: check
86
bbbd9b6e
WR
87avocado-system-debian:
88 extends: .avocado_test_job_template
f2f5c3e6
PMD
89 needs:
90 - job: build-system-debian
91 artifacts: true
92 variables:
93 IMAGE: debian-amd64
bbbd9b6e 94 MAKE_CHECK_ARGS: check-avocado
f2f5c3e6 95
f462be4c
TH
96crash-test-debian:
97 extends: .native_test_job_template
98 needs:
99 - job: build-system-debian
100 artifacts: true
101 variables:
102 IMAGE: debian-amd64
103 script:
104 - cd build
4d3bd91b 105 - make NINJA=":" check-venv
c03f57fd 106 - pyvenv/bin/python3 scripts/device-crash-test -q --tcg-only ./qemu-system-i386
f462be4c 107
f2f5c3e6 108build-system-fedora:
88b19e4e
AB
109 extends:
110 - .native_build_job_template
111 - .native_build_artifact_template
f2f5c3e6
PMD
112 needs:
113 job: amd64-fedora-container
114 variables:
115 IMAGE: fedora
116 CONFIGURE_ARGS: --disable-gcrypt --enable-nettle --enable-docs
f2f5c3e6
PMD
117 TARGETS: tricore-softmmu microblaze-softmmu mips-softmmu
118 xtensa-softmmu m68k-softmmu riscv32-softmmu ppc-softmmu sparc64-softmmu
119 MAKE_CHECK_ARGS: check-build
f2f5c3e6
PMD
120
121check-system-fedora:
122 extends: .native_test_job_template
123 needs:
124 - job: build-system-fedora
125 artifacts: true
126 variables:
127 IMAGE: fedora
128 MAKE_CHECK_ARGS: check
129
bbbd9b6e
WR
130avocado-system-fedora:
131 extends: .avocado_test_job_template
f2f5c3e6
PMD
132 needs:
133 - job: build-system-fedora
134 artifacts: true
135 variables:
136 IMAGE: fedora
bbbd9b6e 137 MAKE_CHECK_ARGS: check-avocado
f2f5c3e6 138
f462be4c
TH
139crash-test-fedora:
140 extends: .native_test_job_template
141 needs:
142 - job: build-system-fedora
143 artifacts: true
144 variables:
145 IMAGE: fedora
146 script:
147 - cd build
4d3bd91b 148 - make NINJA=":" check-venv
c03f57fd
PB
149 - pyvenv/bin/python3 scripts/device-crash-test -q ./qemu-system-ppc
150 - pyvenv/bin/python3 scripts/device-crash-test -q ./qemu-system-riscv32
f462be4c 151
f2f5c3e6 152build-system-centos:
88b19e4e
AB
153 extends:
154 - .native_build_job_template
155 - .native_build_artifact_template
f2f5c3e6
PMD
156 needs:
157 job: amd64-centos8-container
158 variables:
159 IMAGE: centos8
eda2321d 160 CONFIGURE_ARGS: --disable-nettle --enable-gcrypt --enable-vfio-user-server
4cc75ce6 161 --enable-modules --enable-trace-backends=dtrace --enable-docs
f2f5c3e6
PMD
162 TARGETS: ppc64-softmmu or1k-softmmu s390x-softmmu
163 x86_64-softmmu rx-softmmu sh4-softmmu nios2-softmmu
164 MAKE_CHECK_ARGS: check-build
f2f5c3e6
PMD
165
166check-system-centos:
167 extends: .native_test_job_template
168 needs:
169 - job: build-system-centos
170 artifacts: true
171 variables:
172 IMAGE: centos8
173 MAKE_CHECK_ARGS: check
174
bbbd9b6e
WR
175avocado-system-centos:
176 extends: .avocado_test_job_template
f2f5c3e6
PMD
177 needs:
178 - job: build-system-centos
179 artifacts: true
180 variables:
181 IMAGE: centos8
bbbd9b6e 182 MAKE_CHECK_ARGS: check-avocado
f2f5c3e6
PMD
183
184build-system-opensuse:
88b19e4e
AB
185 extends:
186 - .native_build_job_template
187 - .native_build_artifact_template
f2f5c3e6
PMD
188 needs:
189 job: amd64-opensuse-leap-container
190 variables:
191 IMAGE: opensuse-leap
f2f5c3e6
PMD
192 TARGETS: s390x-softmmu x86_64-softmmu aarch64-softmmu
193 MAKE_CHECK_ARGS: check-build
f2f5c3e6
PMD
194
195check-system-opensuse:
196 extends: .native_test_job_template
197 needs:
198 - job: build-system-opensuse
199 artifacts: true
200 variables:
201 IMAGE: opensuse-leap
202 MAKE_CHECK_ARGS: check
203
bbbd9b6e
WR
204avocado-system-opensuse:
205 extends: .avocado_test_job_template
f2f5c3e6
PMD
206 needs:
207 - job: build-system-opensuse
208 artifacts: true
209 variables:
210 IMAGE: opensuse-leap
bbbd9b6e 211 MAKE_CHECK_ARGS: check-avocado
f2f5c3e6
PMD
212
213
f2f5c3e6
PMD
214# This jobs explicitly disable TCG (--disable-tcg), KVM is detected by
215# the configure script. The container doesn't contain Xen headers so
216# Xen accelerator is not detected / selected. As result it build the
217# i386-softmmu and x86_64-softmmu with KVM being the single accelerator
218# available.
219# Also use a different coroutine implementation (which is only really of
220# interest to KVM users, i.e. with TCG disabled)
221build-tcg-disabled:
222 extends: .native_build_job_template
223 needs:
224 job: amd64-centos8-container
225 variables:
226 IMAGE: centos8
227 script:
228 - mkdir build
229 - cd build
230 - ../configure --disable-tcg --audio-drv-list="" --with-coroutine=ucontext
3b4f9119 231 --disable-docs --disable-sdl --disable-gtk --disable-vnc
f2f5c3e6
PMD
232 || { cat config.log meson-logs/meson-log.txt && exit 1; }
233 - make -j"$JOBS"
234 - make check-unit
235 - make check-qapi-schema
236 - cd tests/qemu-iotests/
237 - ./check -raw 001 002 003 004 005 008 009 010 011 012 021 025 032 033 048
238 052 063 077 086 101 104 106 113 148 150 151 152 157 159 160 163
c88f0789 239 170 171 183 184 192 194 208 221 226 227 236 253 277 image-fleecing
f2f5c3e6 240 - ./check -qcow2 028 051 056 057 058 065 068 082 085 091 095 096 102 122
db1e1192 241 124 132 139 142 144 145 151 152 155 157 165 194 196 200 202
c88f0789
VSO
242 208 209 216 218 227 234 246 247 248 250 254 255 257 258
243 260 261 262 263 264 270 272 273 277 279 image-fleecing
f2f5c3e6
PMD
244
245build-user:
246 extends: .native_build_job_template
247 needs:
248 job: amd64-debian-user-cross-container
249 variables:
250 IMAGE: debian-all-test-cross
251 CONFIGURE_ARGS: --disable-tools --disable-system
252 MAKE_CHECK_ARGS: check-tcg
253
254build-user-static:
255 extends: .native_build_job_template
256 needs:
257 job: amd64-debian-user-cross-container
258 variables:
259 IMAGE: debian-all-test-cross
260 CONFIGURE_ARGS: --disable-tools --disable-system --static
261 MAKE_CHECK_ARGS: check-tcg
262
f2f5c3e6
PMD
263build-user-hexagon:
264 extends: .native_build_job_template
265 needs:
266 job: hexagon-cross-container
f2f5c3e6
PMD
267 variables:
268 IMAGE: debian-hexagon-cross
269 TARGETS: hexagon-linux-user
270 CONFIGURE_ARGS: --disable-tools --disable-docs --enable-debug-tcg
271 MAKE_CHECK_ARGS: check-tcg
272
273# Only build the softmmu targets we have check-tcg tests for
274build-some-softmmu:
275 extends: .native_build_job_template
276 needs:
277 job: amd64-debian-user-cross-container
278 variables:
279 IMAGE: debian-all-test-cross
280 CONFIGURE_ARGS: --disable-tools --enable-debug
281 TARGETS: xtensa-softmmu arm-softmmu aarch64-softmmu alpha-softmmu
282 MAKE_CHECK_ARGS: check-tcg
283
39ce9237
AB
284# We build tricore in a very minimal tricore only container
285build-tricore-softmmu:
286 extends: .native_build_job_template
287 needs:
288 job: tricore-debian-cross-container
289 variables:
290 IMAGE: debian-tricore-cross
291 CONFIGURE_ARGS: --disable-tools --disable-fdt --enable-debug
292 TARGETS: tricore-softmmu
293 MAKE_CHECK_ARGS: check-tcg
294
f2f5c3e6
PMD
295clang-system:
296 extends: .native_build_job_template
297 needs:
298 job: amd64-fedora-container
299 variables:
300 IMAGE: fedora
301 CONFIGURE_ARGS: --cc=clang --cxx=clang++
302 --extra-cflags=-fsanitize=undefined --extra-cflags=-fno-sanitize-recover=undefined
7c4f7150 303 TARGETS: alpha-softmmu arm-softmmu m68k-softmmu mips64-softmmu s390x-softmmu
f2f5c3e6
PMD
304 MAKE_CHECK_ARGS: check-qtest check-tcg
305
306clang-user:
307 extends: .native_build_job_template
308 needs:
309 job: amd64-debian-user-cross-container
765de32d 310 timeout: 70m
f2f5c3e6
PMD
311 variables:
312 IMAGE: debian-all-test-cross
313 CONFIGURE_ARGS: --cc=clang --cxx=clang++ --disable-system
314 --target-list-exclude=microblazeel-linux-user,aarch64_be-linux-user,i386-linux-user,m68k-linux-user,mipsn32el-linux-user,xtensaeb-linux-user
315 --extra-cflags=-fsanitize=undefined --extra-cflags=-fno-sanitize-recover=undefined
316 MAKE_CHECK_ARGS: check-unit check-tcg
317
318# Set LD_JOBS=1 because this requires LTO and ld consumes a large amount of memory.
319# On gitlab runners, default value sometimes end up calling 2 lds concurrently and
320# triggers an Out-Of-Memory error
321#
5890258a
TH
322# Since slirp callbacks are used in QEMU Timers, we cannot use libslirp with
323# CFI builds, and thus have to disable it here.
f2f5c3e6 324#
bbbd9b6e 325# Split in three sets of build/check/avocado to limit the execution time of each
f2f5c3e6
PMD
326# job
327build-cfi-aarch64:
88b19e4e
AB
328 extends:
329 - .native_build_job_template
330 - .native_build_artifact_template
f2f5c3e6
PMD
331 needs:
332 - job: amd64-fedora-container
333 variables:
334 LD_JOBS: 1
335 AR: llvm-ar
336 IMAGE: fedora
337 CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi --enable-cfi-debug
5890258a 338 --enable-safe-stack --disable-slirp
f2f5c3e6
PMD
339 TARGETS: aarch64-softmmu
340 MAKE_CHECK_ARGS: check-build
e37264eb
TH
341 # FIXME: This job is often failing, likely due to out-of-memory problems in
342 # the constrained containers of the shared runners. Thus this is marked as
e312d1fd
DB
343 # skipped until the situation has been solved.
344 QEMU_JOB_SKIPPED: 1
72ec89bf 345 timeout: 90m
f2f5c3e6
PMD
346
347check-cfi-aarch64:
348 extends: .native_test_job_template
349 needs:
350 - job: build-cfi-aarch64
351 artifacts: true
352 variables:
353 IMAGE: fedora
354 MAKE_CHECK_ARGS: check
355
bbbd9b6e
WR
356avocado-cfi-aarch64:
357 extends: .avocado_test_job_template
f2f5c3e6
PMD
358 needs:
359 - job: build-cfi-aarch64
360 artifacts: true
361 variables:
362 IMAGE: fedora
bbbd9b6e 363 MAKE_CHECK_ARGS: check-avocado
f2f5c3e6
PMD
364
365build-cfi-ppc64-s390x:
88b19e4e
AB
366 extends:
367 - .native_build_job_template
368 - .native_build_artifact_template
f2f5c3e6
PMD
369 needs:
370 - job: amd64-fedora-container
371 variables:
372 LD_JOBS: 1
373 AR: llvm-ar
374 IMAGE: fedora
375 CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi --enable-cfi-debug
5890258a 376 --enable-safe-stack --disable-slirp
f2f5c3e6
PMD
377 TARGETS: ppc64-softmmu s390x-softmmu
378 MAKE_CHECK_ARGS: check-build
e37264eb
TH
379 # FIXME: This job is often failing, likely due to out-of-memory problems in
380 # the constrained containers of the shared runners. Thus this is marked as
e312d1fd
DB
381 # skipped until the situation has been solved.
382 QEMU_JOB_SKIPPED: 1
72ec89bf 383 timeout: 80m
f2f5c3e6
PMD
384
385check-cfi-ppc64-s390x:
386 extends: .native_test_job_template
387 needs:
388 - job: build-cfi-ppc64-s390x
389 artifacts: true
390 variables:
391 IMAGE: fedora
392 MAKE_CHECK_ARGS: check
393
bbbd9b6e
WR
394avocado-cfi-ppc64-s390x:
395 extends: .avocado_test_job_template
f2f5c3e6
PMD
396 needs:
397 - job: build-cfi-ppc64-s390x
398 artifacts: true
399 variables:
400 IMAGE: fedora
bbbd9b6e 401 MAKE_CHECK_ARGS: check-avocado
f2f5c3e6
PMD
402
403build-cfi-x86_64:
88b19e4e
AB
404 extends:
405 - .native_build_job_template
406 - .native_build_artifact_template
f2f5c3e6
PMD
407 needs:
408 - job: amd64-fedora-container
409 variables:
410 LD_JOBS: 1
411 AR: llvm-ar
412 IMAGE: fedora
413 CONFIGURE_ARGS: --cc=clang --cxx=clang++ --enable-cfi --enable-cfi-debug
5890258a 414 --enable-safe-stack --disable-slirp
f2f5c3e6
PMD
415 TARGETS: x86_64-softmmu
416 MAKE_CHECK_ARGS: check-build
417 timeout: 70m
f2f5c3e6
PMD
418
419check-cfi-x86_64:
420 extends: .native_test_job_template
421 needs:
422 - job: build-cfi-x86_64
423 artifacts: true
424 variables:
425 IMAGE: fedora
426 MAKE_CHECK_ARGS: check
427
bbbd9b6e
WR
428avocado-cfi-x86_64:
429 extends: .avocado_test_job_template
f2f5c3e6
PMD
430 needs:
431 - job: build-cfi-x86_64
432 artifacts: true
433 variables:
434 IMAGE: fedora
bbbd9b6e 435 MAKE_CHECK_ARGS: check-avocado
f2f5c3e6
PMD
436
437tsan-build:
438 extends: .native_build_job_template
439 needs:
171080d8 440 job: amd64-ubuntu2204-container
f2f5c3e6 441 variables:
171080d8
AB
442 IMAGE: ubuntu2204
443 CONFIGURE_ARGS: --enable-tsan --cc=clang --cxx=clang++
eda2321d 444 --enable-trace-backends=ust --disable-slirp
f2f5c3e6 445 TARGETS: x86_64-softmmu ppc64-softmmu riscv64-softmmu x86_64-linux-user
f2f5c3e6 446
bb9ecae7
AB
447# gcov is a GCC features
448gcov:
f2f5c3e6
PMD
449 extends: .native_build_job_template
450 needs:
171080d8 451 job: amd64-ubuntu2204-container
bb9ecae7 452 timeout: 80m
f2f5c3e6 453 variables:
171080d8 454 IMAGE: ubuntu2204
bb9ecae7 455 CONFIGURE_ARGS: --enable-gcov
f2f5c3e6 456 TARGETS: aarch64-softmmu ppc64-softmmu s390x-softmmu x86_64-softmmu
dc389ce1 457 MAKE_CHECK_ARGS: check-unit check-softfloat
f2f5c3e6 458 after_script:
5544d33d
AB
459 - cd build
460 - gcovr --xml-pretty --exclude-unreachable-branches --print-summary
461 -o coverage.xml --root ${CI_PROJECT_DIR} . *.p
462 coverage: /^\s*lines:\s*\d+.\d+\%/
463 artifacts:
464 name: ${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHA}
dcb242c8 465 when: always
5544d33d 466 expire_in: 2 days
dcb242c8
DB
467 paths:
468 - build/meson-logs/testlog.txt
5544d33d 469 reports:
dcb242c8 470 junit: build/meson-logs/testlog.junit.xml
5544d33d
AB
471 coverage_report:
472 coverage_format: cobertura
473 path: build/coverage.xml
f2f5c3e6
PMD
474
475build-oss-fuzz:
476 extends: .native_build_job_template
477 needs:
478 job: amd64-fedora-container
479 variables:
480 IMAGE: fedora
481 script:
482 - mkdir build-oss-fuzz
3ab8bf83 483 - export LSAN_OPTIONS=suppressions=scripts/oss-fuzz/lsan_suppressions.txt
f2f5c3e6
PMD
484 - CC="clang" CXX="clang++" CFLAGS="-fsanitize=address"
485 ./scripts/oss-fuzz/build.sh
486 - export ASAN_OPTIONS="fast_unwind_on_malloc=0"
487 - for fuzzer in $(find ./build-oss-fuzz/DEST_DIR/ -executable -type f
488 | grep -v slirp); do
489 grep "LLVMFuzzerTestOneInput" ${fuzzer} > /dev/null 2>&1 || continue ;
490 echo Testing ${fuzzer} ... ;
491 "${fuzzer}" -runs=1 -seed=1 || exit 1 ;
492 done
f2f5c3e6
PMD
493
494build-tci:
495 extends: .native_build_job_template
496 needs:
497 job: amd64-debian-user-cross-container
498 variables:
499 IMAGE: debian-all-test-cross
500 script:
501 - TARGETS="aarch64 alpha arm hppa m68k microblaze ppc64 s390x x86_64"
502 - mkdir build
503 - cd build
3b4f9119
TH
504 - ../configure --enable-tcg-interpreter --disable-docs --disable-gtk --disable-vnc
505 --target-list="$(for tg in $TARGETS; do echo -n ${tg}'-softmmu '; done)"
506 || { cat config.log meson-logs/meson-log.txt && exit 1; }
f2f5c3e6
PMD
507 - make -j"$JOBS"
508 - make tests/qtest/boot-serial-test tests/qtest/cdrom-test tests/qtest/pxe-test
509 - for tg in $TARGETS ; do
510 export QTEST_QEMU_BINARY="./qemu-system-${tg}" ;
511 ./tests/qtest/boot-serial-test || exit 1 ;
512 ./tests/qtest/cdrom-test || exit 1 ;
513 done
514 - QTEST_QEMU_BINARY="./qemu-system-x86_64" ./tests/qtest/pxe-test
515 - QTEST_QEMU_BINARY="./qemu-system-s390x" ./tests/qtest/pxe-test -m slow
516 - make check-tcg
517
f2f5c3e6 518# Check our reduced build configurations
e030d08c 519build-without-defaults:
f2f5c3e6
PMD
520 extends: .native_build_job_template
521 needs:
522 job: amd64-centos8-container
523 variables:
524 IMAGE: centos8
8d316275 525 CONFIGURE_ARGS:
e030d08c 526 --without-default-devices
8d316275 527 --without-default-features
e030d08c 528 --disable-fdt
8d316275
TH
529 --disable-pie
530 --disable-qom-cast-debug
8d316275 531 --disable-strip
e030d08c 532 TARGETS: avr-softmmu mips64-softmmu s390x-softmmu sh4-softmmu
8d316275 533 sparc64-softmmu hexagon-linux-user i386-linux-user s390x-linux-user
bb6e4734 534 MAKE_CHECK_ARGS: check
f2f5c3e6
PMD
535
536build-libvhost-user:
e312d1fd 537 extends: .base_job_template
f2f5c3e6 538 stage: build
d4c7a565 539 image: $CI_REGISTRY_IMAGE/qemu/fedora:$QEMU_CI_CONTAINER_TAG
f2f5c3e6
PMD
540 needs:
541 job: amd64-fedora-container
f2f5c3e6
PMD
542 script:
543 - mkdir subprojects/libvhost-user/build
544 - cd subprojects/libvhost-user/build
545 - meson
546 - ninja
547
548# No targets are built here, just tools, docs, and unit tests. This
549# also feeds into the eventual documentation deployment steps later
550build-tools-and-docs-debian:
88b19e4e
AB
551 extends:
552 - .native_build_job_template
553 - .native_build_artifact_template
f2f5c3e6
PMD
554 needs:
555 job: amd64-debian-container
e312d1fd
DB
556 # when running on 'master' we use pre-existing container
557 optional: true
f2f5c3e6
PMD
558 variables:
559 IMAGE: debian-amd64
7630156d 560 MAKE_CHECK_ARGS: check-unit ctags TAGS cscope
f2f5c3e6 561 CONFIGURE_ARGS: --disable-system --disable-user --enable-docs --enable-tools
e312d1fd 562 QEMU_JOB_PUBLISH: 1
f2f5c3e6
PMD
563
564# Prepare for GitLab pages deployment. Anything copied into the
565# "public" directory will be deployed to $USER.gitlab.io/$PROJECT
eafadbbb
DB
566#
567# GitLab publishes from any branch that triggers a CI pipeline
568#
569# For the main repo we don't want to publish from 'staging'
570# since that content may not be pushed, nor do we wish to
571# publish from 'stable-NNN' branches as that content is outdated.
572# Thus we restrict to just the default branch
573#
574# For contributor forks we want to publish from any repo so
575# that users can see the results of their commits, regardless
576# of what topic branch they're currently using
f2f5c3e6 577pages:
e312d1fd 578 extends: .base_job_template
d4c7a565 579 image: $CI_REGISTRY_IMAGE/qemu/debian-amd64:$QEMU_CI_CONTAINER_TAG
f2f5c3e6
PMD
580 stage: test
581 needs:
582 - job: build-tools-and-docs-debian
583 script:
584 - mkdir -p public
585 # HTML-ised source tree
586 - make gtags
587 - htags -anT --tree-view=filetree -m qemu_init
588 -t "Welcome to the QEMU sourcecode"
589 - mv HTML public/src
590 # Project documentation
591 - make -C build install DESTDIR=$(pwd)/temp-install
592 - mv temp-install/usr/local/share/doc/qemu/* public/
593 artifacts:
cef63308 594 when: on_success
f2f5c3e6
PMD
595 paths:
596 - public
e312d1fd
DB
597 variables:
598 QEMU_JOB_PUBLISH: 1