On 4/24/2026 8:42 AM, Daniel P. Berrangé wrote:
> CI is only exercising the qcow2 'auto' tests currently. As a result we
> get no exposure of changes which cause regressions in other block format
> drivers.
>
> This adds new CI jobs for each block format, that will run the target
> 'make check-block-$FORMAT'. The jobs are separate so that we have the
> ability to make each format gating or not, depending on their level
> of reliability.
>
> The 'centos' image is used to run the I/O tests since several tests
> have an implicit dependency on x86_64-softmmu, and thus break with
> other architecture targets. The 'centos' build job is the only one
> that creates the x86_64-softmmu target in CI. Ideally this target
> portability in I/O tests would be fixed to avoid this limitation.
>
> There is currently an undiagnosed failure of job 185 with the qcow2
> when run in CI that is marked to be skipped, reported at:
>
> https://gitlab.com/qemu-project/qemu/-/issues/3270
>
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
> .gitlab-ci.d/buildtest.yml | 98 ++++++++++++++++++++++++++++++++++++++
> 1 file changed, 98 insertions(+)
>
> diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
> index 4b1949a3a5..d4591d30e9 100644
> --- a/.gitlab-ci.d/buildtest.yml
> +++ b/.gitlab-ci.d/buildtest.yml
> @@ -174,6 +174,104 @@ build-system-centos:
> x86_64-softmmu rx-softmmu sh4-softmmu
> MAKE_CHECK_ARGS: check-build
>
> +
> +# NB: block-XXX jobs use 'centos' since that is the build
> +# job that provides the x86_64-softmmu. Some I/O tests
> +# are currently buggy and blindly assume characteristics
> +# of x86 (such as PCIe) causing failures with other arches
> +
> +block-luks:
> + extends: .native_test_job_template
> + needs:
> + - job: build-system-centos
> + artifacts: true
> + variables:
> + IMAGE: centos9
> + MAKE_CHECK_ARGS: check-block-luks
> +
> +block-nbd:
> + extends: .native_test_job_template
> + needs:
> + - job: build-system-centos
> + artifacts: true
> + variables:
> + IMAGE: centos9
> + MAKE_CHECK_ARGS: check-block-nbd
> +
> +block-parallels:
> + extends: .native_test_job_template
> + needs:
> + - job: build-system-centos
> + artifacts: true
> + variables:
> + IMAGE: centos9
> + MAKE_CHECK_ARGS: check-block-parallels
> +
> +block-qcow2:
> + extends: .native_test_job_template
> + needs:
> + - job: build-system-centos
> + artifacts: true
> + variables:
> + IMAGE: centos9
> + MAKE_CHECK_ARGS: check-block-qcow2
> + # https://gitlab.com/qemu-project/qemu/-/issues/3270
> + QEMU_TEST_IO_SKIP: qcow2:185
> +
> +block-qed:
> + extends: .native_test_job_template
> + needs:
> + - job: build-system-centos
> + artifacts: true
> + variables:
> + IMAGE: centos9
> + MAKE_CHECK_ARGS: check-block-qed
> +
> +block-raw:
> + extends: .native_test_job_template
> + needs:
> + - job: build-system-centos
> + artifacts: true
> + variables:
> + IMAGE: centos9
> + MAKE_CHECK_ARGS: check-block-raw
> +
> +block-vdi:
> + extends: .native_test_job_template
> + needs:
> + - job: build-system-centos
> + artifacts: true
> + variables:
> + IMAGE: centos9
> + MAKE_CHECK_ARGS: check-block-vdi
> +
> +block-vhdx:
> + extends: .native_test_job_template
> + needs:
> + - job: build-system-centos
> + artifacts: true
> + variables:
> + IMAGE: centos9
> + MAKE_CHECK_ARGS: check-block-vhdx
> +
> +block-vmdk:
> + extends: .native_test_job_template
> + needs:
> + - job: build-system-centos
> + artifacts: true
> + variables:
> + IMAGE: centos9
> + MAKE_CHECK_ARGS: check-block-vmdk
> +
> +block-vpc:
> + extends: .native_test_job_template
> + needs:
> + - job: build-system-centos
> + artifacts: true
> + variables:
> + IMAGE: centos9
> + MAKE_CHECK_ARGS: check-block-vpc
> +
> # Previous QEMU release. Used for cross-version migration tests.
> build-previous-qemu:
> extends: .native_build_job_template
You may want to use a gitlab parallel matrix here, since it's basically
a copy paste with driver name changed.
And either you can set QEMU_TEST_IO_SKIP for all of them, or simply
remove the broken test from tree.
Regards,
Pierrick