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 formats gating or not, depending on their level
of reliability.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
.gitlab-ci.d/buildtest.yml | 63 ++++++++++++++++++++++++++++++++++++++
1 file changed, 63 insertions(+)
diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
index 0502094b9a..e4ee48cf9e 100644
--- a/.gitlab-ci.d/buildtest.yml
+++ b/.gitlab-ci.d/buildtest.yml
@@ -176,6 +176,69 @@ build-system-centos:
x86_64-softmmu rx-softmmu sh4-softmmu
MAKE_CHECK_ARGS: check-build
+check-block-raw-centos:
+ extends: .native_test_job_template
+ needs:
+ - job: build-system-centos
+ artifacts: true
+ variables:
+ IMAGE: centos9
+ MAKE_CHECK_ARGS: check-block-raw
+
+check-block-qcow2-centos:
+ extends: .native_test_job_template
+ needs:
+ - job: build-system-centos
+ artifacts: true
+ variables:
+ IMAGE: centos9
+ MAKE_CHECK_ARGS: check-block-qcow2
+
+check-block-vpc-centos:
+ extends: .native_test_job_template
+ needs:
+ - job: build-system-centos
+ artifacts: true
+ variables:
+ IMAGE: centos9
+ MAKE_CHECK_ARGS: check-block-vpc
+
+check-block-vmdk-centos:
+ extends: .native_test_job_template
+ needs:
+ - job: build-system-centos
+ artifacts: true
+ variables:
+ IMAGE: centos9
+ MAKE_CHECK_ARGS: check-block-vmdk
+
+check-block-qed-centos:
+ extends: .native_test_job_template
+ needs:
+ - job: build-system-centos
+ artifacts: true
+ variables:
+ IMAGE: centos9
+ MAKE_CHECK_ARGS: check-block-qed
+
+check-block-luks-centos:
+ extends: .native_test_job_template
+ needs:
+ - job: build-system-centos
+ artifacts: true
+ variables:
+ IMAGE: centos9
+ MAKE_CHECK_ARGS: check-block-luks
+
+check-block-nbd-centos:
+ extends: .native_test_job_template
+ needs:
+ - job: build-system-centos
+ artifacts: true
+ variables:
+ IMAGE: centos9
+ MAKE_CHECK_ARGS: check-block-nbd
+
# Previous QEMU release. Used for cross-version migration tests.
build-previous-qemu:
extends: .native_build_job_template
--
2.50.1
On 08/10/2025 13.35, 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 formats gating or not, depending on their level > of reliability. Some of the jobs seem to be quite quick, though, only 5 minutes and less: https://gitlab.com/berrange/qemu/-/jobs/11633680698 https://gitlab.com/berrange/qemu/-/jobs/11633680704 https://gitlab.com/berrange/qemu/-/jobs/11633680694 I think I'd prefer to see them rather merged into one job, to avoid that we waste too much time with setting up the container each time. We can still sort out flaky parts into separate jobs later if necessary. Thomas
On Fri, Oct 10, 2025 at 01:55:28PM +0200, Thomas Huth wrote: > On 08/10/2025 13.35, 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 formats gating or not, depending on their level > > of reliability. > > Some of the jobs seem to be quite quick, though, only 5 minutes and less: > > https://gitlab.com/berrange/qemu/-/jobs/11633680698 > https://gitlab.com/berrange/qemu/-/jobs/11633680704 > https://gitlab.com/berrange/qemu/-/jobs/11633680694 > > I think I'd prefer to see them rather merged into one job, to avoid that we > waste too much time with setting up the container each time. We can still > sort out flaky parts into separate jobs later if necessary. The container setup / job prep is not a significant time sink - just at the 1 minute mark. I wanted to have separate jobs per backend so that the pipeline dashboard gives an informative summary of which block backends are impacted by the change, rather than having to search the logs to discover it. Flaky parts shouldn't be separate jobs - the tests should either be fixed or removed, because unreliable tests just end up being ignored, leading to regressions being missed. With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
On Wed, Oct 08, 2025 at 12:35:52PM +0100, 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 formats gating or not, depending on their level > of reliability. > > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> > --- > .gitlab-ci.d/buildtest.yml | 63 ++++++++++++++++++++++++++++++++++++++ > 1 file changed, 63 insertions(+) The idea makes sense to me. Did you have a link a URL of a CI run that failed tests on NBD, where I might be able to help make the tests more deterministic? > > diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml > index 0502094b9a..e4ee48cf9e 100644 > --- a/.gitlab-ci.d/buildtest.yml > +++ b/.gitlab-ci.d/buildtest.yml > @@ -176,6 +176,69 @@ build-system-centos: > x86_64-softmmu rx-softmmu sh4-softmmu > MAKE_CHECK_ARGS: check-build > > + > +check-block-nbd-centos: > + extends: .native_test_job_template > + needs: > + - job: build-system-centos > + artifacts: true > + variables: > + IMAGE: centos9 > + MAKE_CHECK_ARGS: check-block-nbd > + > # Previous QEMU release. Used for cross-version migration tests. > build-previous-qemu: > extends: .native_build_job_template > -- > 2.50.1 > > -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org
On Wed, Oct 08, 2025 at 10:57:45AM -0500, Eric Blake wrote: > On Wed, Oct 08, 2025 at 12:35:52PM +0100, 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 formats gating or not, depending on their level > > of reliability. > > > > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> > > --- > > .gitlab-ci.d/buildtest.yml | 63 ++++++++++++++++++++++++++++++++++++++ > > 1 file changed, 63 insertions(+) > > The idea makes sense to me. > > Did you have a link a URL of a CI run that failed tests on NBD, where > I might be able to help make the tests more deterministic? Its the one in the cover letter - the nbd job is https://gitlab.com/berrange/qemu/-/jobs/11633680715 With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
On Wed, Oct 08, 2025 at 05:23:10PM +0100, Daniel P. Berrangé wrote: > On Wed, Oct 08, 2025 at 10:57:45AM -0500, Eric Blake wrote: > > On Wed, Oct 08, 2025 at 12:35:52PM +0100, 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 formats gating or not, depending on their level > > > of reliability. > > > > > > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> > > > --- > > > .gitlab-ci.d/buildtest.yml | 63 ++++++++++++++++++++++++++++++++++++++ > > > 1 file changed, 63 insertions(+) > > > > The idea makes sense to me. > > > > Did you have a link a URL of a CI run that failed tests on NBD, where > > I might be able to help make the tests more deterministic? > > Its the one in the cover letter - the nbd job is > > https://gitlab.com/berrange/qemu/-/jobs/11633680715 I finally managed to run 'git bisect' on an old enough version to track down two of the NBD failures, broken since v9.0.0: https://lists.gnu.org/archive/html/qemu-devel/2025-10/msg03063.html -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org
© 2016 - 2025 Red Hat, Inc.