Add a README section spelling out the three goals: per-crate
supported platforms, custom tests defined per crate, and a minimal
set of workspace-scoped tests for cross-crate compatibility. Also
describe how `--workspace-selective` uses Buildkite's native
`if_changed` property to realize them.
Signed-off-by: Ruoqing He <ruoqing.he@lingcage.com>
Replace the manual instructions for setting up dependabot and .platform
file with instructions to run the new script. Move the explanation of
the .platform file to the testing section (where we were incorrectly
claiming that we only support x86_64 and aarch64, so fix that up too).
Signed-off-by: Patrick Roy <roypat@amazon.co.uk>
Clean up and standardize our examples by always mounting the crate in
/crate and using --workdir to avoid `cd ..` in the container.
While we're here, let's remove a strange mount of ~/.ssh in the last
example.
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
We recently changed the container tags from vNN to gSHA-1, but we didn't
update README.md. Also, we now push `latest`, which is always updated,
so use this tag in the examples and mention to look at CONTAINER_VERSION
in .buildkite/autogenerate_pipeline.py for a specific version.
Reported-by: Hanna Czenczek <hreitz@redhat.com>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Mention that `crate_features` is now optional, and also update a very
outdated reference to `cargo kcov`
Signed-off-by: Patrick Roy <roypat@amazon.co.uk>
Introduce logic necessary for generating YAML needed by BuildKite, which
are designed to work with image introduced in
rust-vmm/rust-vmm-container#106.
The container version is updated to v44 to enable CI on RISC-V platform.
Signed-off-by: Ruoqing He <heruoqing@iscas.ac.cn>
For convenience, since the two are related directly.
Also fix a small typo while at it.
Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Now that we use cargo-llvm-cov, `exclude_path` should be a regular
expression, since we are using `--ignore-filename-regex` option:
--ignore-filename-regex <PATTERN>
Skip source code files with file paths that match the given
regular expression
To prevent users from separating multiple files with commas,
let's update the `exclude_path` description in the README and in
the examples.
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
By default we are now using the kvm hypervisor in tests.
This can be overritten for the entire pipeline at the pipeline
level by using the environment variable `AGENT_TAG_HYPERVISOR`.
Fixes: https://github.com/rust-vmm/rust-vmm-ci/issues/115
Signed-off-by: Andreea Florescu <fandree@amazon.com>
Included the new environment variable `TIMEOUTS_MIN` for overriding
step timeouts and updated the "Custom Pipeline" section to
reflect that we are also autogenerating the custom pipelines.
Signed-off-by: Catalin Dumitru <catdum@amazon.com>
When there are no benchmarks on the master branch, instead of
crashing first check if the error. Pass the test in case
cargo bench failed due to main bench not being present.
Fixes: https://github.com/rust-vmm/rust-vmm-ci/issues/30
Signed-off-by: Andreea Florescu <fandree@amazon.com>
1. Enabled the aarch64 coverage test in `test_coverage` script.
2. Seperated the coverage json sample file to two sample files for
different machine achitectures.
3. Updated Buildkite pipeline container version.
4. Updated README for the description of coverage files and container
version.
Signed-off-by: Henry Wang <henry.wang@arm.com>
If we clone rust-vmm-ci with SSH Buildkite requires an ssh key
when cloning the repository for some reason.
Signed-off-by: Andreea Florescu <fandree@amazon.com>
The container now runs Rust 1.35. This is needed as versions 1.34.0
up to 1.34.2 (which is the first one to include a fix) have a security
vulnerability.
For details check the CVE: https://www.cvedetails.com/cve/CVE-2019-12083/
Signed-off-by: Andreea Florescu <fandree@amazon.com>
This pipeline contains the tests that are currently run for
kvm-ioctls. The pipeline also has a step that runs the coverage
test defined in integration_tests/test_coverage.py.
The purpose of this pipeline is to be used by all rust-vmm
repositories to ensure we keep the same quality bar for all crates.
Signed-off-by: Andreea Florescu <fandree@amazon.com>