<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none"><!--P{margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p>Hey,</p>
<p><br>
</p>
<p>I had two follow-ups from our last sync meeting and I finally got some time to write them up.</p>
<p><br>
</p>
<p>1. CI solution for rust-vmm crates</p>
<p>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?</p>
<p><br>
</p>
<p>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:</p>
<p>- Integration with GitHub Webhooks. This helps in setting status checks for PRs.</p>
<p>- 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).</p>
<p>- 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.</p>
<p>- 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.</p>
<p>- Support for ignoring redundant pushes. If you do 5 pushes to the same branch, Buildkite will only test the last push.<br>
</p>
<p><br>
</p>
<p>2. Container for rust-vmm dependencies</p>
<p>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.</p>
<p>I propose to add the container to a rust-vmm repository. More details in the issue [5], please let me know what you think.</p>
<p><br>
</p>
<p>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.</p>
<p>If you have any questions about buildkite let me know.<br>
</p>
<p><br>
</p>
<p>Regards,</p>
<p>Andreea<br>
</p>
<p><br>
</p>
<p>[1] <a href="https://buildkite.com/">https://buildkite.com/</a> <br>
</p>
<p>[2] <a href="https://buildkite.com/rust-vmm/kvm-ioctls-ci/builds/36#cfbebc7e-4323-4a99-af6a-57c665c83a7c">
https://buildkite.com/rust-vmm/kvm-ioctls-ci/builds/36#cfbebc7e-4323-4a99-af6a-57c665c83a7c</a></p>
<p>[3] <a href="https://buildkite.com/docs/agent/v3">https://buildkite.com/docs/agent/v3</a></p>
<p>[4] <a href="https://buildkite.com/docs/pipelines/defining-steps#example-pipeline">
https://buildkite.com/docs/pipelines/defining-steps#example-pipeline</a><br>
</p>
<p>[5] <a href="https://github.com/rust-vmm/community/issues/42">https://github.com/rust-vmm/community/issues/42</a><br>
</p>
<p><br>
</p>
<p></p>

<p><br>
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.</p>
</body>
</html>