From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
qemu-devel@nongnu.org, manos.pitsidianakis@linaro.org,
zhao1.liu@intel.com, junjie.mao@intel.com,
pierrick.bouvier@linaro.org, alex.bennee@linaro.org
Subject: Re: [PULL 00/12] Rust initial PoC + meson changes for 2024-10-07
Date: Mon, 7 Oct 2024 12:52:52 +0100 [thread overview]
Message-ID: <ZwPLlHxQkRbf3QBx@redhat.com> (raw)
In-Reply-To: <ZwPKPGkpklnY9i5z@redhat.com>
On Mon, Oct 07, 2024 at 12:47:08PM +0100, Daniel P. Berrangé wrote:
> On Mon, Oct 07, 2024 at 01:26:52PM +0200, Paolo Bonzini wrote:
> > On Mon, Oct 7, 2024 at 1:11 PM Daniel P. Berrangé <berrange@redhat.com> wrote:
> > > The current dockerfiles don't include rust, and I see nothing
> > > here updating them to add rust, so how is any of this getting
> > > test coverage ?
> > >
> > > Even though this has Rust disabled by default, I would still
> > > consider CI enablement to be a pre-requsite for merging even
> > > basic Rust support.
> >
> > I agree in general, but there's already a lot of work that can be
> > parallelized and the idea of someone managing Rust-related patches
> > out-of-tree was discarded. So this seemed to be the only way to
> > proceed.
> >
> > Right now only Fedora 39 and 40 (with updates) are able to compile
> > QEMU with Rust enabled. Full CI enablement requires further work to
> > reduce the minimum supported version of the compiler, after which
> > rustc can be added to the libvirt-ci inputs and to the Dockerfiles.
>
> Full CI enablement isn't a requirement until we want to turn on
> Rust by default. It would be sufficient to have a single job in
> CI using Fedora 40 that passes '--enable-rust' to demonstrate that
> this at least working on one platform we expect.
>
> > Adding a CI job that uses nightly rust (via rustup) is high on my
> > priority list, but first of all I wanted to integrate clippy (because
> > the main point of having a job with nightly rust is to have a heads-up
> > on future clippy warnings). That said, I'm also not sure how one would
> > go adding rustup to a container generated by lcitool (for example
> > should I add a new dockerfile that is _based_ on one that already
> > exists? would that change when Rust/rustc is added to that
> > dockerfile?).
>
> Having layered dockerfiles is something we try to aviod these days,
> since each layer turns into another job dependancy in the CI
> pipeline, expanding the number of stages.
I forgot to say that QEMU's 'refresh' script can customize the
dockerfiles from lcitool with an arbitrary amount of trailing
text - see the 'debian12_extras' for example.
>
> If the job is merely to validate nightly clippy do we even need
> any of the rest of the QEMU build deps present ? Can we not just
> use a generic pre-existing Rust container and only run clippy
> in it.
>
> If we want to actually build with the cutting edge, then I'd say
> it is sufficient to have a container based on Fedora rawhide, since
> that gives a heads up on what's soon to be impacting the next stable
> distro release, upto 6 months ahead of time - we don't need to be
> watching& debugging stuff that hasn't even been released by Rust
> yet IMHO.
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 :|
next prev parent reply other threads:[~2024-10-07 11:53 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-07 11:03 [PULL 00/12] Rust initial PoC + meson changes for 2024-10-07 Paolo Bonzini
2024-10-07 11:03 ` [PULL 01/12] Require meson version 1.5.0 Paolo Bonzini
2024-10-07 11:03 ` [PULL 02/12] build-sys: Add rust feature option Paolo Bonzini
2024-10-07 11:03 ` [PULL 03/12] configure, meson: detect Rust toolchain Paolo Bonzini
2024-10-07 11:03 ` [PULL 04/12] rust: add bindgen step as a meson dependency Paolo Bonzini
2024-10-07 11:03 ` [PULL 05/12] .gitattributes: add Rust diff and merge attributes Paolo Bonzini
2024-10-07 11:03 ` [PULL 06/12] meson.build: add HAVE_GLIB_WITH_ALIGNED_ALLOC flag Paolo Bonzini
2024-10-07 11:03 ` [PULL 07/12] rust: add crate to expose bindings and interfaces Paolo Bonzini
2024-10-07 11:03 ` [PULL 08/12] rust: add utility procedural macro crate Paolo Bonzini
2024-10-07 11:03 ` [PULL 09/12] rust: add PL011 device model Paolo Bonzini
2024-10-07 11:03 ` [PULL 10/12] meson: fix machine option for x86_version Paolo Bonzini
2024-10-07 11:03 ` [PULL 11/12] meson: define qemu_isa_flags Paolo Bonzini
2024-10-07 11:03 ` [PULL 12/12] meson: ensure -mcx16 is passed when detecting ATOMIC128 Paolo Bonzini
2024-10-07 11:11 ` [PULL 00/12] Rust initial PoC + meson changes for 2024-10-07 Daniel P. Berrangé
2024-10-07 11:26 ` Paolo Bonzini
2024-10-07 11:47 ` Daniel P. Berrangé
2024-10-07 11:52 ` Daniel P. Berrangé [this message]
2024-10-07 15:51 ` Paolo Bonzini
2024-10-07 17:56 ` Brian Cain
2024-10-07 19:15 ` Paolo Bonzini
2024-10-08 3:27 ` Brian Cain
2024-10-08 3:39 ` Pierrick Bouvier
2024-10-08 10:01 ` Alex Bennée
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZwPLlHxQkRbf3QBx@redhat.com \
--to=berrange@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=junjie.mao@intel.com \
--cc=manos.pitsidianakis@linaro.org \
--cc=pbonzini@redhat.com \
--cc=pierrick.bouvier@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=zhao1.liu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).