[Rust-VMM] CI presentation
fandree at amazon.com
Thu Mar 7 16:54:33 UTC 2019
"Tarpaulin only supports x86_64 processors running Linux. " <- This makes me sad :(
From: Samuel Ortiz <samuel.ortiz at intel.com>
Sent: Thursday, March 7, 2019 6:24 PM
To: Florescu, Andreea
Cc: Bradford, Robert; rust-vmm at lists.opendev.org
Subject: Re: [Rust-VMM] CI presentation
On Thu, Mar 07, 2019 at 04:05:04PM +0000, Florescu, Andreea wrote:
> Hey Rob,
> Thanks for putting together this presentation.
> I have some comments in terms of supported platforms:
> - Firecracker also has AMD in the roadmap so ideally we would like the crates to be tested on AMD as well.
> - I am slightly against using nested virtualization for the CI. Maybe it is appropriate for some crates, but it is not one a catch-it-all solutions. I might be biased here, but we should probably test on bare metal instances so we can be as close as possible to a production setup. Also, I have some concerns around performance testing on nested-virt. Amazon can offer some bare metal instances for the rust-vmm CI.
We've been using nested because it's the cheapest option. We use bare
metal on Packet for aarch64. Having access to 100% bare metal is ideal
and better, I agree.
> I am not very familiar with Jenkins and I have some questions:
> 1. Does Jenkins take care of a clean environment for each run (either PRs or merges)? Do we have to implement our own methods to insure that? In the Firecracker CI we are always starting a new instance to run the tests. On that instance we do not have anything pre-configured. Every dependency lies in a container and that's how we make sure we are always testing all PRs in the same manner.
> 2. How easy is it to have smoke testing? I would put `cargo build --release` as a smoke test as we shouldn't want to run all tests in case the build doesn't work.
> Also, what are your thoughts around coverage? I didn't find any CI tool that can enforce coverage doesn't drop on PRs when the crate requires access to /dev/kvm. Coveralls doesn't seem to have support for Rust. Codecov might be a good candidate, but I failed to understand how to make it run on a bare-metal instance. To be fair, I also didn't spend a lot of time trying to understand it.
https://github.com/xd009642/tarpaulin is one tool that seems to be used
for rust coverage.
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris,
92196 Meudon Cedex, France
Registration Number: 302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
Amazon Development Center (Romania) S.R.L. registered office: 27A Sf. Lazar Street, UBC5, floor 2, Iasi, Iasi County, 700045, Romania. Registered in Romania. Registration number J22/2621/2005.
More information about the Rust-vmm