[PATCH v6 15/16] gitlab: add jobs for thorough block tests

Daniel P. Berrangé posted 16 patches 2 months ago
Maintainers: "Alex Bennée" <alex.bennee@linaro.org>, Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>, John Snow <jsnow@redhat.com>, Cleber Rosa <crosa@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>
There is a newer version of this series
[PATCH v6 15/16] gitlab: add jobs for thorough block tests
Posted by Daniel P. Berrangé 2 months ago
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.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 .gitlab-ci.d/buildtest.yml | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
index 4b1949a3a5..cf0281ecd6 100644
--- a/.gitlab-ci.d/buildtest.yml
+++ b/.gitlab-ci.d/buildtest.yml
@@ -174,6 +174,24 @@ 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:
+  extends: .native_test_job_template
+  needs:
+    - job: build-system-centos
+      artifacts: true
+  variables:
+    IMAGE: centos9
+    MAKE_CHECK_ARGS: "check-block-$FORMAT"
+  parallel:
+    matrix:
+      - FORMAT: [luks, nbd, parallels, qcow2, qed, raw, vdi, vhdx, vmdk, vpc]
+
 # Previous QEMU release. Used for cross-version migration tests.
 build-previous-qemu:
   extends: .native_build_job_template
-- 
2.54.0


Re: [PATCH v6 15/16] gitlab: add jobs for thorough block tests
Posted by Pierrick Bouvier 2 months ago
On 5/13/2026 5:00 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.
> 
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
>  .gitlab-ci.d/buildtest.yml | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
> index 4b1949a3a5..cf0281ecd6 100644
> --- a/.gitlab-ci.d/buildtest.yml
> +++ b/.gitlab-ci.d/buildtest.yml
> @@ -174,6 +174,24 @@ 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:
> +  extends: .native_test_job_template
> +  needs:
> +    - job: build-system-centos
> +      artifacts: true
> +  variables:
> +    IMAGE: centos9
> +    MAKE_CHECK_ARGS: "check-block-$FORMAT"
> +  parallel:
> +    matrix:
> +      - FORMAT: [luks, nbd, parallels, qcow2, qed, raw, vdi, vhdx, vmdk, vpc]
> +
>  # Previous QEMU release. Used for cross-version migration tests.
>  build-previous-qemu:
>    extends: .native_build_job_template

All good!
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>

Regards,
Pierrick

Re: [PATCH v6 15/16] gitlab: add jobs for thorough block tests
Posted by Daniel P. Berrangé 2 months ago
On Wed, May 13, 2026 at 09:00:28AM -0700, Pierrick Bouvier wrote:
> On 5/13/2026 5:00 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.
> > 
> > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> > ---
> >  .gitlab-ci.d/buildtest.yml | 18 ++++++++++++++++++
> >  1 file changed, 18 insertions(+)
> > 
> > diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
> > index 4b1949a3a5..cf0281ecd6 100644
> > --- a/.gitlab-ci.d/buildtest.yml
> > +++ b/.gitlab-ci.d/buildtest.yml
> > @@ -174,6 +174,24 @@ 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:
> > +  extends: .native_test_job_template
> > +  needs:
> > +    - job: build-system-centos
> > +      artifacts: true
> > +  variables:
> > +    IMAGE: centos9
> > +    MAKE_CHECK_ARGS: "check-block-$FORMAT"
> > +  parallel:
> > +    matrix:
> > +      - FORMAT: [luks, nbd, parallels, qcow2, qed, raw, vdi, vhdx, vmdk, vpc]
> > +
> >  # Previous QEMU release. Used for cross-version migration tests.
> >  build-previous-qemu:
> >    extends: .native_build_job_template
> 
> All good!
> Reviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>

BTW, the use of "matrix" for defining jobs had a slight impact on
the way the jobs results are presented. You only see an overall
status for the psuedo "block" job and have to click to reveal the
individual job results.  Not a problem, just a surprise if you've
not seen it before. An example is visible here:

https://gitlab.com/berrange/qemu/-/pipelines/2522062147


With regards,
Daniel
-- 
|: https://berrange.com       ~~        https://hachyderm.io/@berrange :|
|: https://libvirt.org          ~~          https://entangle-photo.org :|
|: https://pixelfed.art/berrange   ~~    https://fstop138.berrange.com :|


Re: [PATCH v6 15/16] gitlab: add jobs for thorough block tests
Posted by Pierrick Bouvier 2 months ago
On 5/13/2026 10:18 AM, Daniel P. Berrangé wrote:
> On Wed, May 13, 2026 at 09:00:28AM -0700, Pierrick Bouvier wrote:
>> On 5/13/2026 5:00 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.
>>>
>>> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
>>> ---
>>>  .gitlab-ci.d/buildtest.yml | 18 ++++++++++++++++++
>>>  1 file changed, 18 insertions(+)
>>>
>>> diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
>>> index 4b1949a3a5..cf0281ecd6 100644
>>> --- a/.gitlab-ci.d/buildtest.yml
>>> +++ b/.gitlab-ci.d/buildtest.yml
>>> @@ -174,6 +174,24 @@ 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:
>>> +  extends: .native_test_job_template
>>> +  needs:
>>> +    - job: build-system-centos
>>> +      artifacts: true
>>> +  variables:
>>> +    IMAGE: centos9
>>> +    MAKE_CHECK_ARGS: "check-block-$FORMAT"
>>> +  parallel:
>>> +    matrix:
>>> +      - FORMAT: [luks, nbd, parallels, qcow2, qed, raw, vdi, vhdx, vmdk, vpc]
>>> +
>>>  # Previous QEMU release. Used for cross-version migration tests.
>>>  build-previous-qemu:
>>>    extends: .native_build_job_template
>>
>> All good!
>> Reviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
> 
> BTW, the use of "matrix" for defining jobs had a slight impact on
> the way the jobs results are presented. You only see an overall
> status for the psuedo "block" job and have to click to reveal the
> individual job results.  Not a problem, just a surprise if you've
> not seen it before. An example is visible here:
> 
> https://gitlab.com/berrange/qemu/-/pipelines/2522062147
>

Yes indeed, just a matter of state.
Not a big deal, as what matters is that you see it green everywhere in
the end. We could as well use matrix in some other places to simplify
yaml files or compact CI results view, but it's definitely not a priority.

> 
> With regards,
> Daniel