]>
Commit | Line | Data |
---|---|---|
f2f5c3e6 PMD |
1 | include: |
2 | - local: '/.gitlab-ci.d/buildtest-template.yml' | |
3 | ||
4 | build-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 | |
16 | check-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 |
25 | avocado-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 | |
34 | build-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 | |
47 | check-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 |
56 | avocado-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 | |
65 | build-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 | |
78 | check-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 |
87 | avocado-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 |
96 | crash-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 | 108 | build-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 | |
121 | check-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 |
130 | avocado-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 |
139 | crash-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 | 152 | build-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 | |
166 | check-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 |
175 | avocado-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 | |
184 | build-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 | |
195 | check-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 |
204 | avocado-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) | |
221 | build-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 | |
245 | build-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 | ||
254 | build-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 |
263 | build-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 | |
274 | build-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 |
285 | build-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 |
295 | clang-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 | ||
306 | clang-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 |
327 | build-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 | |
347 | check-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 |
356 | avocado-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 | |
365 | build-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 | |
385 | check-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 |
394 | avocado-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 | |
403 | build-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 | |
419 | check-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 |
428 | avocado-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 | |
437 | tsan-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 |
448 | gcov: | |
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 | |
471 | build-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 | |
490 | build-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 | 515 | build-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 | |
532 | build-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 | |
546 | build-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 | 573 | pages: |
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 |