]> git.proxmox.com Git - mirror_qemu.git/blame - .gitlab-ci.d/buildtest.yml
Merge tag 'for_upstream' of https://git.kernel.org/pub/scm/virt/kvm/mst/qemu into...
[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
e8e4298f 106 - tests/venv/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
e8e4298f
PB
149 - tests/venv/bin/python3 scripts/device-crash-test -q ./qemu-system-ppc
150 - tests/venv/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
e2d30178 457 MAKE_CHECK_ARGS: check
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}
465 expire_in: 2 days
466 reports:
467 coverage_report:
468 coverage_format: cobertura
469 path: build/coverage.xml
f2f5c3e6
PMD
470
471build-oss-fuzz:
472 extends: .native_build_job_template
473 needs:
474 job: amd64-fedora-container
475 variables:
476 IMAGE: fedora
477 script:
478 - mkdir build-oss-fuzz
3ab8bf83 479 - export LSAN_OPTIONS=suppressions=scripts/oss-fuzz/lsan_suppressions.txt
f2f5c3e6
PMD
480 - CC="clang" CXX="clang++" CFLAGS="-fsanitize=address"
481 ./scripts/oss-fuzz/build.sh
482 - export ASAN_OPTIONS="fast_unwind_on_malloc=0"
483 - for fuzzer in $(find ./build-oss-fuzz/DEST_DIR/ -executable -type f
484 | grep -v slirp); do
485 grep "LLVMFuzzerTestOneInput" ${fuzzer} > /dev/null 2>&1 || continue ;
486 echo Testing ${fuzzer} ... ;
487 "${fuzzer}" -runs=1 -seed=1 || exit 1 ;
488 done
f2f5c3e6
PMD
489
490build-tci:
491 extends: .native_build_job_template
492 needs:
493 job: amd64-debian-user-cross-container
494 variables:
495 IMAGE: debian-all-test-cross
496 script:
497 - TARGETS="aarch64 alpha arm hppa m68k microblaze ppc64 s390x x86_64"
498 - mkdir build
499 - cd build
3b4f9119
TH
500 - ../configure --enable-tcg-interpreter --disable-docs --disable-gtk --disable-vnc
501 --target-list="$(for tg in $TARGETS; do echo -n ${tg}'-softmmu '; done)"
502 || { cat config.log meson-logs/meson-log.txt && exit 1; }
f2f5c3e6
PMD
503 - make -j"$JOBS"
504 - make tests/qtest/boot-serial-test tests/qtest/cdrom-test tests/qtest/pxe-test
505 - for tg in $TARGETS ; do
506 export QTEST_QEMU_BINARY="./qemu-system-${tg}" ;
507 ./tests/qtest/boot-serial-test || exit 1 ;
508 ./tests/qtest/cdrom-test || exit 1 ;
509 done
510 - QTEST_QEMU_BINARY="./qemu-system-x86_64" ./tests/qtest/pxe-test
511 - QTEST_QEMU_BINARY="./qemu-system-s390x" ./tests/qtest/pxe-test -m slow
512 - make check-tcg
513
f2f5c3e6 514# Check our reduced build configurations
e030d08c 515build-without-defaults:
f2f5c3e6
PMD
516 extends: .native_build_job_template
517 needs:
518 job: amd64-centos8-container
519 variables:
520 IMAGE: centos8
8d316275 521 CONFIGURE_ARGS:
e030d08c 522 --without-default-devices
8d316275 523 --without-default-features
e030d08c 524 --disable-fdt
8d316275
TH
525 --disable-pie
526 --disable-qom-cast-debug
8d316275 527 --disable-strip
e030d08c 528 TARGETS: avr-softmmu mips64-softmmu s390x-softmmu sh4-softmmu
8d316275 529 sparc64-softmmu hexagon-linux-user i386-linux-user s390x-linux-user
bb6e4734 530 MAKE_CHECK_ARGS: check
f2f5c3e6
PMD
531
532build-libvhost-user:
e312d1fd 533 extends: .base_job_template
f2f5c3e6 534 stage: build
d4c7a565 535 image: $CI_REGISTRY_IMAGE/qemu/fedora:$QEMU_CI_CONTAINER_TAG
f2f5c3e6
PMD
536 needs:
537 job: amd64-fedora-container
f2f5c3e6
PMD
538 script:
539 - mkdir subprojects/libvhost-user/build
540 - cd subprojects/libvhost-user/build
541 - meson
542 - ninja
543
544# No targets are built here, just tools, docs, and unit tests. This
545# also feeds into the eventual documentation deployment steps later
546build-tools-and-docs-debian:
88b19e4e
AB
547 extends:
548 - .native_build_job_template
549 - .native_build_artifact_template
f2f5c3e6
PMD
550 needs:
551 job: amd64-debian-container
e312d1fd
DB
552 # when running on 'master' we use pre-existing container
553 optional: true
f2f5c3e6
PMD
554 variables:
555 IMAGE: debian-amd64
7630156d 556 MAKE_CHECK_ARGS: check-unit ctags TAGS cscope
f2f5c3e6 557 CONFIGURE_ARGS: --disable-system --disable-user --enable-docs --enable-tools
e312d1fd 558 QEMU_JOB_PUBLISH: 1
f2f5c3e6
PMD
559
560# Prepare for GitLab pages deployment. Anything copied into the
561# "public" directory will be deployed to $USER.gitlab.io/$PROJECT
eafadbbb
DB
562#
563# GitLab publishes from any branch that triggers a CI pipeline
564#
565# For the main repo we don't want to publish from 'staging'
566# since that content may not be pushed, nor do we wish to
567# publish from 'stable-NNN' branches as that content is outdated.
568# Thus we restrict to just the default branch
569#
570# For contributor forks we want to publish from any repo so
571# that users can see the results of their commits, regardless
572# of what topic branch they're currently using
f2f5c3e6 573pages:
e312d1fd 574 extends: .base_job_template
d4c7a565 575 image: $CI_REGISTRY_IMAGE/qemu/debian-amd64:$QEMU_CI_CONTAINER_TAG
f2f5c3e6
PMD
576 stage: test
577 needs:
578 - job: build-tools-and-docs-debian
579 script:
580 - mkdir -p public
581 # HTML-ised source tree
582 - make gtags
583 - htags -anT --tree-view=filetree -m qemu_init
584 -t "Welcome to the QEMU sourcecode"
585 - mv HTML public/src
586 # Project documentation
587 - make -C build install DESTDIR=$(pwd)/temp-install
588 - mv temp-install/usr/local/share/doc/qemu/* public/
589 artifacts:
590 paths:
591 - public
e312d1fd
DB
592 variables:
593 QEMU_JOB_PUBLISH: 1