[PATCH] rust: add back to Ubuntu 22.04 jobs

Paolo Bonzini posted 1 patch 1 week, 6 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20251031152639.294034-1-pbonzini@redhat.com
Maintainers: "Alex Bennée" <alex.bennee@linaro.org>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Thomas Huth <thuth@redhat.com>
docs/about/build-platforms.rst                   | 10 +++++-----
.gitlab-ci.d/buildtest.yml                       |  2 +-
scripts/ci/setup/ubuntu/ubuntu-2404-aarch64.yaml |  2 +-
scripts/ci/setup/ubuntu/ubuntu-2404-s390x.yaml   |  2 +-
tests/docker/dockerfiles/ubuntu2204.docker       |  6 +++---
tests/lcitool/mappings.yml                       |  4 ++--
tests/lcitool/refresh                            |  4 ++--
7 files changed, 15 insertions(+), 15 deletions(-)
[PATCH] rust: add back to Ubuntu 22.04 jobs
Posted by Paolo Bonzini 1 week, 6 days ago
Ubuntu is now including updated versions of Rust (up to 1.85) for
its LTS releases.  Adjust the CI containers and re-add --enable-rust
to the Ubuntu jobs.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 docs/about/build-platforms.rst                   | 10 +++++-----
 .gitlab-ci.d/buildtest.yml                       |  2 +-
 scripts/ci/setup/ubuntu/ubuntu-2404-aarch64.yaml |  2 +-
 scripts/ci/setup/ubuntu/ubuntu-2404-s390x.yaml   |  2 +-
 tests/docker/dockerfiles/ubuntu2204.docker       |  6 +++---
 tests/lcitool/mappings.yml                       |  4 ++--
 tests/lcitool/refresh                            |  4 ++--
 7 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/docs/about/build-platforms.rst b/docs/about/build-platforms.rst
index fc2743658d4..e95784cdb55 100644
--- a/docs/about/build-platforms.rst
+++ b/docs/about/build-platforms.rst
@@ -117,14 +117,14 @@ Rust build dependencies
   a newer version using ``cargo install bindgen-cli``.
 
   QEMU requires Rust 1.83.0.  This is available on all supported platforms
-  with two exception: Ubuntu LTS releases 22.04 and 24.04, and the
-  ``mips64el`` architecture on Debian bookworm.  For all other
+  except for the ``mips64el`` architecture on Debian bookworm.  For all other
   architectures, Debian bookworm provides a new-enough Rust compiler
   in the ``rustc-web`` package.
 
-  It is expected that in the future Ubuntu will provide updated packages
-  like the existing ``rustc-1.82`` package.  The path to ``rustc`` and
-  ``rustdoc`` will have to be provided manually to the configure script.
+  For Ubuntu 22.04 ("Jammy") and 24.04 ("Noble") updated versions of
+  Rust are available through packages such as ``rustc-1.83`` package;
+  the path to ``rustc`` and ``rustdoc`` has to be provided manually to
+  the configure script.
 
   Some distros prefer to avoid vendored crate sources, and instead use
   local sources from e.g. ``/usr/share/cargo/registry``.  QEMU includes a
diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
index 21f6d7e96fe..44df116139b 100644
--- a/.gitlab-ci.d/buildtest.yml
+++ b/.gitlab-ci.d/buildtest.yml
@@ -39,7 +39,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
 
diff --git a/scripts/ci/setup/ubuntu/ubuntu-2404-aarch64.yaml b/scripts/ci/setup/ubuntu/ubuntu-2404-aarch64.yaml
index ce632d97108..8c4b71b5942 100644
--- a/scripts/ci/setup/ubuntu/ubuntu-2404-aarch64.yaml
+++ b/scripts/ci/setup/ubuntu/ubuntu-2404-aarch64.yaml
@@ -119,7 +119,7 @@ packages:
   - python3-wheel
   - python3-yaml
   - rpm2cpio
-  - rustc-1.77
+  - rustc-1.83
   - sed
   - socat
   - sparse
diff --git a/scripts/ci/setup/ubuntu/ubuntu-2404-s390x.yaml b/scripts/ci/setup/ubuntu/ubuntu-2404-s390x.yaml
index f45f75c9602..2758f55e5a2 100644
--- a/scripts/ci/setup/ubuntu/ubuntu-2404-s390x.yaml
+++ b/scripts/ci/setup/ubuntu/ubuntu-2404-s390x.yaml
@@ -117,7 +117,7 @@ packages:
   - python3-wheel
   - python3-yaml
   - rpm2cpio
-  - rustc-1.77
+  - rustc-1.83
   - sed
   - socat
   - sparse
diff --git a/tests/docker/dockerfiles/ubuntu2204.docker b/tests/docker/dockerfiles/ubuntu2204.docker
index b393db55a8c..602d4196249 100644
--- a/tests/docker/dockerfiles/ubuntu2204.docker
+++ b/tests/docker/dockerfiles/ubuntu2204.docker
@@ -124,7 +124,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
                       python3-wheel \
                       python3-yaml \
                       rpm2cpio \
-                      rustc-1.77 \
+                      rustc-1.83 \
                       sed \
                       socat \
                       sparse \
@@ -155,8 +155,8 @@ ENV LANG "en_US.UTF-8"
 ENV MAKE "/usr/bin/make"
 ENV NINJA "/usr/bin/ninja"
 ENV PYTHON "/usr/bin/python3"
-ENV RUSTC=/usr/bin/rustc-1.77
-ENV RUSTDOC=/usr/bin/rustdoc-1.77
+ENV RUSTC=/usr/bin/rustc-1.83
+ENV RUSTDOC=/usr/bin/rustdoc-1.83
 ENV CARGO_HOME=/usr/local/cargo
 ENV PATH=$CARGO_HOME/bin:$PATH
 RUN DEBIAN_FRONTEND=noninteractive eatmydata \
diff --git a/tests/lcitool/mappings.yml b/tests/lcitool/mappings.yml
index 8f0e95e1c56..a749cf8c515 100644
--- a/tests/lcitool/mappings.yml
+++ b/tests/lcitool/mappings.yml
@@ -70,8 +70,8 @@ mappings:
 
   rust:
     Debian12: rustc-web
-    Ubuntu2204: rustc-1.77
-    Ubuntu2404: rustc-1.77
+    Ubuntu2204: rustc-1.83
+    Ubuntu2404: rustc-1.83
 
 pypi_mappings:
   # Request more recent version
diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
index 056cfb6e9d7..273fb534cdd 100755
--- a/tests/lcitool/refresh
+++ b/tests/lcitool/refresh
@@ -152,8 +152,8 @@ fedora_rustup_nightly_extras = [
 ]
 
 ubuntu2204_rust_extras = [
-    "ENV RUSTC=/usr/bin/rustc-1.77\n",
-    "ENV RUSTDOC=/usr/bin/rustdoc-1.77\n",
+    "ENV RUSTC=/usr/bin/rustc-1.83\n",
+    "ENV RUSTDOC=/usr/bin/rustdoc-1.83\n",
     "ENV CARGO_HOME=/usr/local/cargo\n",
     'ENV PATH=$CARGO_HOME/bin:$PATH\n',
     "RUN DEBIAN_FRONTEND=noninteractive eatmydata \\\n",
-- 
2.51.1
Re: [PATCH] rust: add back to Ubuntu 22.04 jobs
Posted by Marc-André Lureau 1 week, 6 days ago
Hi

On Fri, Oct 31, 2025 at 7:28 PM Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> Ubuntu is now including updated versions of Rust (up to 1.85) for
> its LTS releases.  Adjust the CI containers and re-add --enable-rust
> to the Ubuntu jobs.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>

> ---
>  docs/about/build-platforms.rst                   | 10 +++++-----
>  .gitlab-ci.d/buildtest.yml                       |  2 +-
>  scripts/ci/setup/ubuntu/ubuntu-2404-aarch64.yaml |  2 +-
>  scripts/ci/setup/ubuntu/ubuntu-2404-s390x.yaml   |  2 +-
>  tests/docker/dockerfiles/ubuntu2204.docker       |  6 +++---
>  tests/lcitool/mappings.yml                       |  4 ++--
>  tests/lcitool/refresh                            |  4 ++--
>  7 files changed, 15 insertions(+), 15 deletions(-)
>
> diff --git a/docs/about/build-platforms.rst b/docs/about/build-platforms.rst
> index fc2743658d4..e95784cdb55 100644
> --- a/docs/about/build-platforms.rst
> +++ b/docs/about/build-platforms.rst
> @@ -117,14 +117,14 @@ Rust build dependencies
>    a newer version using ``cargo install bindgen-cli``.
>
>    QEMU requires Rust 1.83.0.  This is available on all supported platforms
> -  with two exception: Ubuntu LTS releases 22.04 and 24.04, and the
> -  ``mips64el`` architecture on Debian bookworm.  For all other
> +  except for the ``mips64el`` architecture on Debian bookworm.  For all other
>    architectures, Debian bookworm provides a new-enough Rust compiler
>    in the ``rustc-web`` package.
>
> -  It is expected that in the future Ubuntu will provide updated packages
> -  like the existing ``rustc-1.82`` package.  The path to ``rustc`` and
> -  ``rustdoc`` will have to be provided manually to the configure script.
> +  For Ubuntu 22.04 ("Jammy") and 24.04 ("Noble") updated versions of
> +  Rust are available through packages such as ``rustc-1.83`` package;
> +  the path to ``rustc`` and ``rustdoc`` has to be provided manually to
> +  the configure script.
>
>    Some distros prefer to avoid vendored crate sources, and instead use
>    local sources from e.g. ``/usr/share/cargo/registry``.  QEMU includes a
> diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
> index 21f6d7e96fe..44df116139b 100644
> --- a/.gitlab-ci.d/buildtest.yml
> +++ b/.gitlab-ci.d/buildtest.yml
> @@ -39,7 +39,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
>
> diff --git a/scripts/ci/setup/ubuntu/ubuntu-2404-aarch64.yaml b/scripts/ci/setup/ubuntu/ubuntu-2404-aarch64.yaml
> index ce632d97108..8c4b71b5942 100644
> --- a/scripts/ci/setup/ubuntu/ubuntu-2404-aarch64.yaml
> +++ b/scripts/ci/setup/ubuntu/ubuntu-2404-aarch64.yaml
> @@ -119,7 +119,7 @@ packages:
>    - python3-wheel
>    - python3-yaml
>    - rpm2cpio
> -  - rustc-1.77
> +  - rustc-1.83
>    - sed
>    - socat
>    - sparse
> diff --git a/scripts/ci/setup/ubuntu/ubuntu-2404-s390x.yaml b/scripts/ci/setup/ubuntu/ubuntu-2404-s390x.yaml
> index f45f75c9602..2758f55e5a2 100644
> --- a/scripts/ci/setup/ubuntu/ubuntu-2404-s390x.yaml
> +++ b/scripts/ci/setup/ubuntu/ubuntu-2404-s390x.yaml
> @@ -117,7 +117,7 @@ packages:
>    - python3-wheel
>    - python3-yaml
>    - rpm2cpio
> -  - rustc-1.77
> +  - rustc-1.83
>    - sed
>    - socat
>    - sparse
> diff --git a/tests/docker/dockerfiles/ubuntu2204.docker b/tests/docker/dockerfiles/ubuntu2204.docker
> index b393db55a8c..602d4196249 100644
> --- a/tests/docker/dockerfiles/ubuntu2204.docker
> +++ b/tests/docker/dockerfiles/ubuntu2204.docker
> @@ -124,7 +124,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
>                        python3-wheel \
>                        python3-yaml \
>                        rpm2cpio \
> -                      rustc-1.77 \
> +                      rustc-1.83 \
>                        sed \
>                        socat \
>                        sparse \
> @@ -155,8 +155,8 @@ ENV LANG "en_US.UTF-8"
>  ENV MAKE "/usr/bin/make"
>  ENV NINJA "/usr/bin/ninja"
>  ENV PYTHON "/usr/bin/python3"
> -ENV RUSTC=/usr/bin/rustc-1.77
> -ENV RUSTDOC=/usr/bin/rustdoc-1.77
> +ENV RUSTC=/usr/bin/rustc-1.83
> +ENV RUSTDOC=/usr/bin/rustdoc-1.83
>  ENV CARGO_HOME=/usr/local/cargo
>  ENV PATH=$CARGO_HOME/bin:$PATH
>  RUN DEBIAN_FRONTEND=noninteractive eatmydata \
> diff --git a/tests/lcitool/mappings.yml b/tests/lcitool/mappings.yml
> index 8f0e95e1c56..a749cf8c515 100644
> --- a/tests/lcitool/mappings.yml
> +++ b/tests/lcitool/mappings.yml
> @@ -70,8 +70,8 @@ mappings:
>
>    rust:
>      Debian12: rustc-web
> -    Ubuntu2204: rustc-1.77
> -    Ubuntu2404: rustc-1.77
> +    Ubuntu2204: rustc-1.83
> +    Ubuntu2404: rustc-1.83
>
>  pypi_mappings:
>    # Request more recent version
> diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
> index 056cfb6e9d7..273fb534cdd 100755
> --- a/tests/lcitool/refresh
> +++ b/tests/lcitool/refresh
> @@ -152,8 +152,8 @@ fedora_rustup_nightly_extras = [
>  ]
>
>  ubuntu2204_rust_extras = [
> -    "ENV RUSTC=/usr/bin/rustc-1.77\n",
> -    "ENV RUSTDOC=/usr/bin/rustdoc-1.77\n",
> +    "ENV RUSTC=/usr/bin/rustc-1.83\n",
> +    "ENV RUSTDOC=/usr/bin/rustdoc-1.83\n",
>      "ENV CARGO_HOME=/usr/local/cargo\n",
>      'ENV PATH=$CARGO_HOME/bin:$PATH\n',
>      "RUN DEBIAN_FRONTEND=noninteractive eatmydata \\\n",
> --
> 2.51.1
>
>


-- 
Marc-André Lureau