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é <berra...@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 :|