@@ -30,6 +30,7 @@ avocado-system-alpine:
3030 variables :
3131 IMAGE : alpine
3232 MAKE_CHECK_ARGS : check-avocado
33+ AVOCADO_TAGS : arch:avr arch:loongarch64 arch:mips64 arch:mipsel
3334
3435build-system-ubuntu :
3536 extends :
@@ -40,8 +41,7 @@ build-system-ubuntu:
4041 variables :
4142 IMAGE : ubuntu2204
4243 CONFIGURE_ARGS : --enable-docs
43- TARGETS : alpha-softmmu cris-softmmu hppa-softmmu
44- microblazeel-softmmu mips64el-softmmu
44+ TARGETS : alpha-softmmu microblaze-softmmu mips64el-softmmu
4545 MAKE_CHECK_ARGS : check-build
4646
4747check-system-ubuntu :
@@ -61,6 +61,7 @@ avocado-system-ubuntu:
6161 variables :
6262 IMAGE : ubuntu2204
6363 MAKE_CHECK_ARGS : check-avocado
64+ AVOCADO_TAGS : arch:alpha arch:microblaze arch:mips64el
6465
6566build-system-debian :
6667 extends :
@@ -69,10 +70,10 @@ build-system-debian:
6970 needs :
7071 job : amd64-debian-container
7172 variables :
72- IMAGE : debian-amd64
73+ IMAGE : debian
7374 CONFIGURE_ARGS : --with-coroutine=sigaltstack
7475 TARGETS : arm-softmmu i386-softmmu riscv64-softmmu sh4eb-softmmu
75- sparc-softmmu xtensaeb -softmmu
76+ sparc-softmmu xtensa -softmmu
7677 MAKE_CHECK_ARGS : check-build
7778
7879check-system-debian :
@@ -81,7 +82,7 @@ check-system-debian:
8182 - job : build-system-debian
8283 artifacts : true
8384 variables :
84- IMAGE : debian-amd64
85+ IMAGE : debian
8586 MAKE_CHECK_ARGS : check
8687
8788avocado-system-debian :
@@ -90,20 +91,21 @@ avocado-system-debian:
9091 - job : build-system-debian
9192 artifacts : true
9293 variables :
93- IMAGE : debian-amd64
94+ IMAGE : debian
9495 MAKE_CHECK_ARGS : check-avocado
96+ AVOCADO_TAGS : arch:arm arch:i386 arch:riscv64 arch:sh4 arch:sparc arch:xtensa
9597
9698crash-test-debian :
9799 extends : .native_test_job_template
98100 needs :
99101 - job : build-system-debian
100102 artifacts : true
101103 variables :
102- IMAGE : debian-amd64
104+ IMAGE : debian
103105 script :
104106 - cd build
105107 - make NINJA=":" check-venv
106- - tests/venv /bin/python3 scripts/device-crash-test -q --tcg-only ./qemu-system-i386
108+ - pyvenv /bin/python3 scripts/device-crash-test -q --tcg-only ./qemu-system-i386
107109
108110build-system-fedora :
109111 extends :
@@ -114,7 +116,7 @@ build-system-fedora:
114116 variables :
115117 IMAGE : fedora
116118 CONFIGURE_ARGS : --disable-gcrypt --enable-nettle --enable-docs
117- TARGETS : tricore-softmmu microblaze-softmmu mips-softmmu
119+ TARGETS : microblaze-softmmu mips-softmmu
118120 xtensa-softmmu m68k-softmmu riscv32-softmmu ppc-softmmu sparc64-softmmu
119121 MAKE_CHECK_ARGS : check-build
120122
@@ -135,6 +137,8 @@ avocado-system-fedora:
135137 variables :
136138 IMAGE : fedora
137139 MAKE_CHECK_ARGS : check-avocado
140+ AVOCADO_TAGS : arch:microblaze arch:mips arch:xtensa arch:m68k
141+ arch:riscv32 arch:ppc arch:sparc64
138142
139143crash-test-fedora :
140144 extends : .native_test_job_template
@@ -146,8 +150,8 @@ crash-test-fedora:
146150 script :
147151 - cd build
148152 - make NINJA=":" check-venv
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
153+ - pyvenv /bin/python3 scripts/device-crash-test -q ./qemu-system-ppc
154+ - pyvenv /bin/python3 scripts/device-crash-test -q ./qemu-system-riscv32
151155
152156build-system-centos :
153157 extends :
@@ -180,6 +184,8 @@ avocado-system-centos:
180184 variables :
181185 IMAGE : centos8
182186 MAKE_CHECK_ARGS : check-avocado
187+ AVOCADO_TAGS : arch:ppc64 arch:or1k arch:390x arch:x86_64 arch:rx
188+ arch:sh4 arch:nios2
183189
184190build-system-opensuse :
185191 extends :
@@ -209,7 +215,38 @@ avocado-system-opensuse:
209215 variables :
210216 IMAGE : opensuse-leap
211217 MAKE_CHECK_ARGS : check-avocado
218+ AVOCADO_TAGS : arch:s390x arch:x86_64 arch:aarch64
212219
220+ #
221+ # Flaky tests. We don't run these by default and they are allow fail
222+ # but often the CI system is the only way to trigger the failures.
223+ #
224+
225+ build-system-flaky :
226+ extends :
227+ - .native_build_job_template
228+ - .native_build_artifact_template
229+ needs :
230+ job : amd64-debian-container
231+ variables :
232+ IMAGE : debian
233+ QEMU_JOB_OPTIONAL : 1
234+ TARGETS : aarch64-softmmu arm-softmmu mips64el-softmmu
235+ ppc64-softmmu rx-softmmu s390x-softmmu sh4-softmmu x86_64-softmmu
236+ MAKE_CHECK_ARGS : check-build
237+
238+ avocado-system-flaky :
239+ extends : .avocado_test_job_template
240+ needs :
241+ - job : build-system-flaky
242+ artifacts : true
243+ allow_failure : true
244+ variables :
245+ IMAGE : debian
246+ MAKE_CHECK_ARGS : check-avocado
247+ QEMU_JOB_OPTIONAL : 1
248+ QEMU_TEST_FLAKY_TESTS : 1
249+ AVOCADO_TAGS : flaky
213250
214251# This jobs explicitly disable TCG (--disable-tcg), KVM is detected by
215252# the configure script. The container doesn't contain Xen headers so
@@ -249,6 +286,7 @@ build-user:
249286 variables :
250287 IMAGE : debian-all-test-cross
251288 CONFIGURE_ARGS : --disable-tools --disable-system
289+ --target-list-exclude=alpha-linux-user,sh4-linux-user
252290 MAKE_CHECK_ARGS : check-tcg
253291
254292build-user-static :
@@ -258,6 +296,18 @@ build-user-static:
258296 variables :
259297 IMAGE : debian-all-test-cross
260298 CONFIGURE_ARGS : --disable-tools --disable-system --static
299+ --target-list-exclude=alpha-linux-user,sh4-linux-user
300+ MAKE_CHECK_ARGS : check-tcg
301+
302+ # targets stuck on older compilers
303+ build-legacy :
304+ extends : .native_build_job_template
305+ needs :
306+ job : amd64-debian-legacy-cross-container
307+ variables :
308+ IMAGE : debian-legacy-test-cross
309+ TARGETS : alpha-linux-user alpha-softmmu sh4-linux-user
310+ CONFIGURE_ARGS : --disable-tools
261311 MAKE_CHECK_ARGS : check-tcg
262312
263313build-user-hexagon :
@@ -270,15 +320,28 @@ build-user-hexagon:
270320 CONFIGURE_ARGS : --disable-tools --disable-docs --enable-debug-tcg
271321 MAKE_CHECK_ARGS : check-tcg
272322
273- # Only build the softmmu targets we have check-tcg tests for
323+ # Build the softmmu targets we have check-tcg tests and compilers in
324+ # our omnibus all-test-cross container. Those targets that haven't got
325+ # Debian cross compiler support need to use special containers.
274326build-some-softmmu :
275327 extends : .native_build_job_template
276328 needs :
277329 job : amd64-debian-user-cross-container
278330 variables :
279331 IMAGE : debian-all-test-cross
280332 CONFIGURE_ARGS : --disable-tools --enable-debug
281- TARGETS : xtensa-softmmu arm-softmmu aarch64-softmmu alpha-softmmu
333+ TARGETS : arm-softmmu aarch64-softmmu i386-softmmu riscv64-softmmu
334+ s390x-softmmu x86_64-softmmu
335+ MAKE_CHECK_ARGS : check-tcg
336+
337+ build-loongarch64 :
338+ extends : .native_build_job_template
339+ needs :
340+ job : loongarch-debian-cross-container
341+ variables :
342+ IMAGE : debian-loongarch-cross
343+ CONFIGURE_ARGS : --disable-tools --enable-debug
344+ TARGETS : loongarch64-linux-user loongarch64-softmmu
282345 MAKE_CHECK_ARGS : check-tcg
283346
284347# We build tricore in a very minimal tricore only container
@@ -311,7 +374,7 @@ clang-user:
311374 variables :
312375 IMAGE : debian-all-test-cross
313376 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
377+ --target-list-exclude=alpha-linux-user, microblazeel-linux-user,aarch64_be-linux-user,i386-linux-user,m68k-linux-user,mipsn32el-linux-user,xtensaeb-linux-user
315378 --extra-cflags=-fsanitize=undefined --extra-cflags=-fno-sanitize-recover=undefined
316379 MAKE_CHECK_ARGS : check-unit check-tcg
317380
@@ -498,7 +561,7 @@ build-tci:
498561 variables :
499562 IMAGE : debian-all-test-cross
500563 script :
501- - TARGETS="aarch64 alpha arm hppa m68k microblaze ppc64 s390x x86_64"
564+ - TARGETS="aarch64 arm hppa m68k microblaze ppc64 s390x x86_64"
502565 - mkdir build
503566 - cd build
504567 - ../configure --enable-tcg-interpreter --disable-docs --disable-gtk --disable-vnc
@@ -556,7 +619,7 @@ build-tools-and-docs-debian:
556619 # when running on 'master' we use pre-existing container
557620 optional : true
558621 variables :
559- IMAGE : debian-amd64
622+ IMAGE : debian
560623 MAKE_CHECK_ARGS : check-unit ctags TAGS cscope
561624 CONFIGURE_ARGS : --disable-system --disable-user --enable-docs --enable-tools
562625 QEMU_JOB_PUBLISH : 1
@@ -576,15 +639,18 @@ build-tools-and-docs-debian:
576639# of what topic branch they're currently using
577640pages :
578641 extends : .base_job_template
579- image : $CI_REGISTRY_IMAGE/qemu/debian-amd64 :$QEMU_CI_CONTAINER_TAG
642+ image : $CI_REGISTRY_IMAGE/qemu/debian:$QEMU_CI_CONTAINER_TAG
580643 stage : test
581644 needs :
582645 - job : build-tools-and-docs-debian
583646 script :
584647 - mkdir -p public
585648 # HTML-ised source tree
586649 - make gtags
587- - htags -anT --tree-view=filetree -m qemu_init
650+ # We unset variables to work around a bug in some htags versions
651+ # which causes it to fail when the environment is large
652+ - CI_COMMIT_MESSAGE= CI_COMMIT_TAG_MESSAGE= htags
653+ -anT --tree-view=filetree -m qemu_init
588654 -t "Welcome to the QEMU sourcecode"
589655 - mv HTML public/src
590656 # Project documentation
0 commit comments