[Rust-VMM] rust-vmm CI & container

Florescu, Andreea fandree at amazon.com
Wed Mar 27 13:10:05 UTC 2019


I had two follow-ups from our last sync meeting and I finally got some time to write them up.

1. CI solution for rust-vmm crates

The need for a different CI solution (other than Travis) comes from the need of running on bare metal instances for things like performance testing, tests that require access to /dev/kvm, others?

I played a bit with buildkite [1] and I found it pretty easy to use. I did some experiments on my fork of the kvm-ioctls crate. You can find an example of the output here [2]. Some things that would make it a good for our scenario are the following:

- Integration with GitHub Webhooks. This helps in setting status checks for PRs.

- The test are run by a buildkite-agent. The agent can be installed on any machine and has support for many distributions. More details about agents here [3]. This is useful because we can have same tests running on different platforms (arm, x86, some other ancient platform that I never heard about before) and different operating systems (linux, windows, mac, others).

- The tests can be defined through a yaml file [4] so we define the tests once and then we can use them for multiple crates.

- It is easy to use and has support for organizations & teams. We can create a rust-vmm team on buildkite and multiple people can access and update the CI pipeline.

- Support for ignoring redundant pushes. If you do 5 pushes to the same branch, Buildkite will only test the last push.

2. Container for rust-vmm dependencies

I assume that most crates will need the same dependencies for running the tests so I created a container for easy handling of the dependencies.

I propose to add the container to a rust-vmm repository. More details in the issue [5], please let me know what you think.

I would like to setup the CI in the near future (next week maybe?) so we can start testing the kvm-ioctls crate as well.

If you have any questions about buildkite let me know.



[1] https://buildkite.com/

[2] https://buildkite.com/rust-vmm/kvm-ioctls-ci/builds/36#cfbebc7e-4323-4a99-af6a-57c665c83a7c

[3] https://buildkite.com/docs/agent/v3

[4] https://buildkite.com/docs/pipelines/defining-steps#example-pipeline

[5] https://github.com/rust-vmm/community/issues/42

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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opendev.org/pipermail/rust-vmm/attachments/20190327/e8254d27/attachment-0001.html>

More information about the Rust-vmm mailing list