[PATCH 23/23] ci: enable rust in the Debian and Ubuntu system build job

Paolo Bonzini posted 23 patches 4 weeks, 1 day ago
[PATCH 23/23] ci: enable rust in the Debian and Ubuntu system build job
Posted by Paolo Bonzini 4 weeks, 1 day ago
We have fixed all incompatibilities with older versions of rustc
and bindgen.  Enable Rust on Debian to check that the minimum
supported version of Rust is indeed 1.63.0, and 0.60.x for bindgen.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 .gitlab-ci.d/buildtest.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
index aba65ff833a..8deaf9627cb 100644
--- a/.gitlab-ci.d/buildtest.yml
+++ b/.gitlab-ci.d/buildtest.yml
@@ -40,7 +40,7 @@ build-system-ubuntu:
     job: amd64-ubuntu2204-container
   variables:
     IMAGE: ubuntu2204
-    CONFIGURE_ARGS: --enable-docs
+    CONFIGURE_ARGS: --enable-docs --enable-rust
     TARGETS: alpha-softmmu microblazeel-softmmu mips64el-softmmu
     MAKE_CHECK_ARGS: check-build
 
@@ -71,7 +71,7 @@ build-system-debian:
     job: amd64-debian-container
   variables:
     IMAGE: debian
-    CONFIGURE_ARGS: --with-coroutine=sigaltstack
+    CONFIGURE_ARGS: --with-coroutine=sigaltstack --enable-rust
     TARGETS: arm-softmmu i386-softmmu riscv64-softmmu sh4-softmmu
       sparc-softmmu xtensa-softmmu
     MAKE_CHECK_ARGS: check-build
-- 
2.47.0
Re: [PATCH 23/23] ci: enable rust in the Debian and Ubuntu system build job
Posted by Pierrick Bouvier 4 weeks ago
On 10/25/24 09:02, Paolo Bonzini wrote:
> We have fixed all incompatibilities with older versions of rustc
> and bindgen.  Enable Rust on Debian to check that the minimum
> supported version of Rust is indeed 1.63.0, and 0.60.x for bindgen.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>   .gitlab-ci.d/buildtest.yml | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
> index aba65ff833a..8deaf9627cb 100644
> --- a/.gitlab-ci.d/buildtest.yml
> +++ b/.gitlab-ci.d/buildtest.yml
> @@ -40,7 +40,7 @@ build-system-ubuntu:
>       job: amd64-ubuntu2204-container
>     variables:
>       IMAGE: ubuntu2204
> -    CONFIGURE_ARGS: --enable-docs
> +    CONFIGURE_ARGS: --enable-docs --enable-rust
>       TARGETS: alpha-softmmu microblazeel-softmmu mips64el-softmmu
>       MAKE_CHECK_ARGS: check-build
>   
> @@ -71,7 +71,7 @@ build-system-debian:
>       job: amd64-debian-container
>     variables:
>       IMAGE: debian
> -    CONFIGURE_ARGS: --with-coroutine=sigaltstack
> +    CONFIGURE_ARGS: --with-coroutine=sigaltstack --enable-rust
>       TARGETS: arm-softmmu i386-softmmu riscv64-softmmu sh4-softmmu
>         sparc-softmmu xtensa-softmmu
>       MAKE_CHECK_ARGS: check-build

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Re: [PATCH 23/23] ci: enable rust in the Debian and Ubuntu system build job
Posted by Pierrick Bouvier 4 weeks ago
On 10/25/24 09:02, Paolo Bonzini wrote:
> We have fixed all incompatibilities with older versions of rustc
> and bindgen.  Enable Rust on Debian to check that the minimum
> supported version of Rust is indeed 1.63.0, and 0.60.x for bindgen.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>   .gitlab-ci.d/buildtest.yml | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
> index aba65ff833a..8deaf9627cb 100644
> --- a/.gitlab-ci.d/buildtest.yml
> +++ b/.gitlab-ci.d/buildtest.yml
> @@ -40,7 +40,7 @@ build-system-ubuntu:
>       job: amd64-ubuntu2204-container
>     variables:
>       IMAGE: ubuntu2204
> -    CONFIGURE_ARGS: --enable-docs
> +    CONFIGURE_ARGS: --enable-docs --enable-rust
>       TARGETS: alpha-softmmu microblazeel-softmmu mips64el-softmmu
>       MAKE_CHECK_ARGS: check-build
>   
> @@ -71,7 +71,7 @@ build-system-debian:
>       job: amd64-debian-container
>     variables:
>       IMAGE: debian
> -    CONFIGURE_ARGS: --with-coroutine=sigaltstack
> +    CONFIGURE_ARGS: --with-coroutine=sigaltstack --enable-rust
>       TARGETS: arm-softmmu i386-softmmu riscv64-softmmu sh4-softmmu
>         sparc-softmmu xtensa-softmmu
>       MAKE_CHECK_ARGS: check-build

Do you think it could be valuable to have a third job for Rust with:
- ubuntu2204 or debian with latest rustc/cargo/bindgen, so we may detect 
regressions when those are updated.

This way, we would test (2204 + min, debian + min, latest), which should 
ensure Rust code will build correctly on older and newer systems.

Pierrick
Re: [PATCH 23/23] ci: enable rust in the Debian and Ubuntu system build job
Posted by Paolo Bonzini 4 weeks ago
Il ven 25 ott 2024, 20:55 Pierrick Bouvier <pierrick.bouvier@linaro.org> ha
scritto:

> On 10/25/24 09:02, Paolo Bonzini wrote:
> > We have fixed all incompatibilities with older versions of rustc
> > and bindgen.  Enable Rust on Debian to check that the minimum
> > supported version of Rust is indeed 1.63.0, and 0.60.x for bindgen.
> >
> > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> > ---
> >   .gitlab-ci.d/buildtest.yml | 4 ++--
> >   1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
> > index aba65ff833a..8deaf9627cb 100644
> > --- a/.gitlab-ci.d/buildtest.yml
> > +++ b/.gitlab-ci.d/buildtest.yml
> > @@ -40,7 +40,7 @@ build-system-ubuntu:
> >       job: amd64-ubuntu2204-container
> >     variables:
> >       IMAGE: ubuntu2204
> > -    CONFIGURE_ARGS: --enable-docs
> > +    CONFIGURE_ARGS: --enable-docs --enable-rust
> >       TARGETS: alpha-softmmu microblazeel-softmmu mips64el-softmmu
> >       MAKE_CHECK_ARGS: check-build
> >
> > @@ -71,7 +71,7 @@ build-system-debian:
> >       job: amd64-debian-container
> >     variables:
> >       IMAGE: debian
> > -    CONFIGURE_ARGS: --with-coroutine=sigaltstack
> > +    CONFIGURE_ARGS: --with-coroutine=sigaltstack --enable-rust
> >       TARGETS: arm-softmmu i386-softmmu riscv64-softmmu sh4-softmmu
> >         sparc-softmmu xtensa-softmmu
> >       MAKE_CHECK_ARGS: check-build
>
> Do you think it could be valuable to have a third job for Rust with:
> - ubuntu2204 or debian with latest rustc/cargo/bindgen, so we may detect
> regressions when those are updated.
>

Note that apart from these two jobs we have Fedora with rustup-installed
nightly (in master) and Fedora with distro Rust tool chain (patches
posted). Would that provide the same (or similar enough) scenario?

Paolo


> This way, we would test (2204 + min, debian + min, latest), which should
> ensure Rust code will build correctly on older and newer systems.
>
> Pierrick
>
>
Re: [PATCH 23/23] ci: enable rust in the Debian and Ubuntu system build job
Posted by Pierrick Bouvier 4 weeks ago
On 10/25/24 12:27, Paolo Bonzini wrote:
> 
> 
> Il ven 25 ott 2024, 20:55 Pierrick Bouvier <pierrick.bouvier@linaro.org 
> <mailto:pierrick.bouvier@linaro.org>> ha scritto:
> 
>     On 10/25/24 09:02, Paolo Bonzini wrote:
>      > We have fixed all incompatibilities with older versions of rustc
>      > and bindgen.  Enable Rust on Debian to check that the minimum
>      > supported version of Rust is indeed 1.63.0, and 0.60.x for bindgen.
>      >
>      > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com
>     <mailto:pbonzini@redhat.com>>
>      > ---
>      >   .gitlab-ci.d/buildtest.yml | 4 ++--
>      >   1 file changed, 2 insertions(+), 2 deletions(-)
>      >
>      > diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
>      > index aba65ff833a..8deaf9627cb 100644
>      > --- a/.gitlab-ci.d/buildtest.yml
>      > +++ b/.gitlab-ci.d/buildtest.yml
>      > @@ -40,7 +40,7 @@ build-system-ubuntu:
>      >       job: amd64-ubuntu2204-container
>      >     variables:
>      >       IMAGE: ubuntu2204
>      > -    CONFIGURE_ARGS: --enable-docs
>      > +    CONFIGURE_ARGS: --enable-docs --enable-rust
>      >       TARGETS: alpha-softmmu microblazeel-softmmu mips64el-softmmu
>      >       MAKE_CHECK_ARGS: check-build
>      >
>      > @@ -71,7 +71,7 @@ build-system-debian:
>      >       job: amd64-debian-container
>      >     variables:
>      >       IMAGE: debian
>      > -    CONFIGURE_ARGS: --with-coroutine=sigaltstack
>      > +    CONFIGURE_ARGS: --with-coroutine=sigaltstack --enable-rust
>      >       TARGETS: arm-softmmu i386-softmmu riscv64-softmmu sh4-softmmu
>      >         sparc-softmmu xtensa-softmmu
>      >       MAKE_CHECK_ARGS: check-build
> 
>     Do you think it could be valuable to have a third job for Rust with:
>     - ubuntu2204 or debian with latest rustc/cargo/bindgen, so we may
>     detect
>     regressions when those are updated.
> 
> 
> Note that apart from these two jobs we have Fedora with rustup-installed 
> nightly (in master) and Fedora with distro Rust tool chain (patches 
> posted). Would that provide the same (or similar enough) scenario?
> 

It covers the need yes.
Since we don't need any nightly feature to build the code, maybe we 
could target last stable instead.
For fedora vs ubuntu/debian, I don't have any strong opinion.

> Paolo
> 
> 
>     This way, we would test (2204 + min, debian + min, latest), which
>     should
>     ensure Rust code will build correctly on older and newer systems.
> 
>     Pierrick
> 
Re: [PATCH 23/23] ci: enable rust in the Debian and Ubuntu system build job
Posted by Pierrick Bouvier 4 weeks ago
On 10/25/24 11:55, Pierrick Bouvier wrote:
> On 10/25/24 09:02, Paolo Bonzini wrote:
>> We have fixed all incompatibilities with older versions of rustc
>> and bindgen.  Enable Rust on Debian to check that the minimum
>> supported version of Rust is indeed 1.63.0, and 0.60.x for bindgen.
>>
>> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>> ---
>>    .gitlab-ci.d/buildtest.yml | 4 ++--
>>    1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
>> index aba65ff833a..8deaf9627cb 100644
>> --- a/.gitlab-ci.d/buildtest.yml
>> +++ b/.gitlab-ci.d/buildtest.yml
>> @@ -40,7 +40,7 @@ build-system-ubuntu:
>>        job: amd64-ubuntu2204-container
>>      variables:
>>        IMAGE: ubuntu2204
>> -    CONFIGURE_ARGS: --enable-docs
>> +    CONFIGURE_ARGS: --enable-docs --enable-rust
>>        TARGETS: alpha-softmmu microblazeel-softmmu mips64el-softmmu
>>        MAKE_CHECK_ARGS: check-build
>>    
>> @@ -71,7 +71,7 @@ build-system-debian:
>>        job: amd64-debian-container
>>      variables:
>>        IMAGE: debian
>> -    CONFIGURE_ARGS: --with-coroutine=sigaltstack
>> +    CONFIGURE_ARGS: --with-coroutine=sigaltstack --enable-rust
>>        TARGETS: arm-softmmu i386-softmmu riscv64-softmmu sh4-softmmu
>>          sparc-softmmu xtensa-softmmu
>>        MAKE_CHECK_ARGS: check-build
> 
> Do you think it could be valuable to have a third job for Rust with:
> - ubuntu2204 or debian with latest rustc/cargo/bindgen, so we may detect
> regressions when those are updated.
> 
> This way, we would test (2204 + min, debian + min, latest), which should
> ensure Rust code will build correctly on older and newer systems.
> 
> Pierrick

The rust latest install can be made as part of the job itself, instead 
of having another container.