[PATCH 1/2] gitlab: exclude sparc-softmmu and riscv32-softmmu from cross builds

Daniel P. Berrangé posted 2 patches 4 years, 4 months ago
[PATCH 1/2] gitlab: exclude sparc-softmmu and riscv32-softmmu from cross builds
Posted by Daniel P. Berrangé 4 years, 4 months ago
We need to cut down compile time by excluding more targets. Both these
targets still have their 64-bit variant enabled, so the loss of coverage
is mitigated to some degree.

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

diff --git a/.gitlab-ci.d/crossbuild-template.yml b/.gitlab-ci.d/crossbuild-template.yml
index 7d3ad00a1e..cfb576b54c 100644
--- a/.gitlab-ci.d/crossbuild-template.yml
+++ b/.gitlab-ci.d/crossbuild-template.yml
@@ -9,7 +9,8 @@
       ../configure --enable-werror --disable-docs $QEMU_CONFIGURE_OPTS
         --disable-user --target-list-exclude="arm-softmmu cris-softmmu
           i386-softmmu microblaze-softmmu mips-softmmu mipsel-softmmu
-          mips64-softmmu ppc-softmmu sh4-softmmu xtensa-softmmu"
+          mips64-softmmu ppc-softmmu riscv32-softmmu sh4-softmmu
+          sparc-softmmu xtensa-softmmu"
     - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
     - if grep -q "EXESUF=.exe" config-host.mak;
       then make installer;
-- 
2.31.1


Re: [PATCH 1/2] gitlab: exclude sparc-softmmu and riscv32-softmmu from cross builds
Posted by Willian Rampazzo 4 years, 4 months ago
On Tue, Aug 10, 2021 at 11:07 AM Daniel P. Berrangé <berrange@redhat.com> wrote:
>
> We need to cut down compile time by excluding more targets. Both these
> targets still have their 64-bit variant enabled, so the loss of coverage
> is mitigated to some degree.
>
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
>  .gitlab-ci.d/crossbuild-template.yml | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>

Reviewed-by: Willian Rampazzo <willianr@redhat.com>


Re: [PATCH 1/2] gitlab: exclude sparc-softmmu and riscv32-softmmu from cross builds
Posted by Philippe Mathieu-Daudé 4 years, 4 months ago
+Mark/Artyom

On 8/10/21 4:06 PM, Daniel P. Berrangé wrote:
> We need to cut down compile time by excluding more targets. Both these
> targets still have their 64-bit variant enabled, so the loss of coverage
> is mitigated to some degree.
> 
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
>  .gitlab-ci.d/crossbuild-template.yml | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/.gitlab-ci.d/crossbuild-template.yml b/.gitlab-ci.d/crossbuild-template.yml
> index 7d3ad00a1e..cfb576b54c 100644
> --- a/.gitlab-ci.d/crossbuild-template.yml
> +++ b/.gitlab-ci.d/crossbuild-template.yml
> @@ -9,7 +9,8 @@
>        ../configure --enable-werror --disable-docs $QEMU_CONFIGURE_OPTS
>          --disable-user --target-list-exclude="arm-softmmu cris-softmmu
>            i386-softmmu microblaze-softmmu mips-softmmu mipsel-softmmu
> -          mips64-softmmu ppc-softmmu sh4-softmmu xtensa-softmmu"
> +          mips64-softmmu ppc-softmmu riscv32-softmmu sh4-softmmu
> +          sparc-softmmu xtensa-softmmu"

I disagree for sparc, as there are some differences (sparc64 is not
a superset of it). However I'm not against this patch.

>      - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
>      - if grep -q "EXESUF=.exe" config-host.mak;
>        then make installer;
> 

Re: [PATCH 1/2] gitlab: exclude sparc-softmmu and riscv32-softmmu from cross builds
Posted by Mark Cave-Ayland 4 years, 3 months ago
On 10/08/2021 15:06, Daniel P. Berrangé wrote:

> We need to cut down compile time by excluding more targets. Both these
> targets still have their 64-bit variant enabled, so the loss of coverage
> is mitigated to some degree.
> 
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
>   .gitlab-ci.d/crossbuild-template.yml | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/.gitlab-ci.d/crossbuild-template.yml b/.gitlab-ci.d/crossbuild-template.yml
> index 7d3ad00a1e..cfb576b54c 100644
> --- a/.gitlab-ci.d/crossbuild-template.yml
> +++ b/.gitlab-ci.d/crossbuild-template.yml
> @@ -9,7 +9,8 @@
>         ../configure --enable-werror --disable-docs $QEMU_CONFIGURE_OPTS
>           --disable-user --target-list-exclude="arm-softmmu cris-softmmu
>             i386-softmmu microblaze-softmmu mips-softmmu mipsel-softmmu
> -          mips64-softmmu ppc-softmmu sh4-softmmu xtensa-softmmu"
> +          mips64-softmmu ppc-softmmu riscv32-softmmu sh4-softmmu
> +          sparc-softmmu xtensa-softmmu"
>       - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
>       - if grep -q "EXESUF=.exe" config-host.mak;
>         then make installer;

I'd prefer to keep sparc-softmmu if possible, simply because my everyday platform is 
Linux and so having a cross-build for Windows will catch things that I may miss on a 
day-to-day basis. Is sparc-softmmu currently enabled as part of the native MINGW64 build?

If I go to my Gitlab QEMU fork Settings -> CI/CD -> Variables there is an option to 
set variables that can be used in job scripts. Perhaps this could be used so that I 
can configure my personal QEMU fork to always run sparc-softmmu builds when preparing 
PRs even if they aren't enabled for everyone by default? At least this would then 
allow me to spot any breakage before sending a final PR to Peter.


ATB,

Mark.

Re: [PATCH 1/2] gitlab: exclude sparc-softmmu and riscv32-softmmu from cross builds
Posted by Daniel P. Berrangé 4 years, 3 months ago
On Wed, Aug 18, 2021 at 10:15:47AM +0100, Mark Cave-Ayland wrote:
> On 10/08/2021 15:06, Daniel P. Berrangé wrote:
> 
> > We need to cut down compile time by excluding more targets. Both these
> > targets still have their 64-bit variant enabled, so the loss of coverage
> > is mitigated to some degree.
> > 
> > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> > ---
> >   .gitlab-ci.d/crossbuild-template.yml | 3 ++-
> >   1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/.gitlab-ci.d/crossbuild-template.yml b/.gitlab-ci.d/crossbuild-template.yml
> > index 7d3ad00a1e..cfb576b54c 100644
> > --- a/.gitlab-ci.d/crossbuild-template.yml
> > +++ b/.gitlab-ci.d/crossbuild-template.yml
> > @@ -9,7 +9,8 @@
> >         ../configure --enable-werror --disable-docs $QEMU_CONFIGURE_OPTS
> >           --disable-user --target-list-exclude="arm-softmmu cris-softmmu
> >             i386-softmmu microblaze-softmmu mips-softmmu mipsel-softmmu
> > -          mips64-softmmu ppc-softmmu sh4-softmmu xtensa-softmmu"
> > +          mips64-softmmu ppc-softmmu riscv32-softmmu sh4-softmmu
> > +          sparc-softmmu xtensa-softmmu"
> >       - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
> >       - if grep -q "EXESUF=.exe" config-host.mak;
> >         then make installer;
> 
> I'd prefer to keep sparc-softmmu if possible, simply because my everyday
> platform is Linux and so having a cross-build for Windows will catch things
> that I may miss on a day-to-day basis. Is sparc-softmmu currently enabled as
> part of the native MINGW64 build?

Note the builds still include  'sparc64-softmmu', so we're only loosing
cover in places where it diverges fromthe 64-bit build, but this will
sstil get coverage in native builds.

> If I go to my Gitlab QEMU fork Settings -> CI/CD -> Variables there is an
> option to set variables that can be used in job scripts. Perhaps this could
> be used so that I can configure my personal QEMU fork to always run
> sparc-softmmu builds when preparing PRs even if they aren't enabled for
> everyone by default? At least this would then allow me to spot any breakage
> before sending a final PR to Peter.

Separately from this I'm doing some work to make things more configurable

  https://lists.gnu.org/archive/html/qemu-devel/2021-08/msg02102.html

but not on this level of granularity.

Rather than globally excluding from all cross builds, I think we ought to
split it up more equitably acrss the different builds in some way.

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 :|