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>
Starting from v0.18.0, cargo-audit hangs indefinitely if Cargo.lock
does not exist. We discovered this while upgrading the container
from v26 to v28 [1], which among other things updated cargo-audit.
For the binary crates this should not be a problem, since they have
Cargo.lock committed, but for many libraries this may not be true.
If Cargo.lock is not there, we are generating one with the latest
available versions, which may not be very significant. For this and
other reasons it's now suggested that libraries also have a
Cargo.lock [2] committed (thanks Manos for pointing this out).
Note: `cargo generate-lockfile` updates Cargo.lock if it's already
there, but we don't want it, that's why we have the guard.
[1] https://github.com/rust-vmm/rust-vmm-ci/pull/138
[2] https://doc.rust-lang.org/nightly/cargo/faq.html#why-have-cargolock-in-version-control
Suggested-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Suggested-by: Patrick Roy <roypat@amazon.co.uk>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
We already have this as a requirement for merging PRs as part of the
PR checklist template, but it's better to enforce it. This comes with
the disadvantage that we will need to update all comments and add the
prefix "SAFETY: " as required by the clippy check.
Signed-off-by: Andreea Florescu <fandree@amazon.com>
Add the RUSTFLAGS="-D warnings" to cargo build
commands
The yaml config file has been deleted in the meantime,
so we need to add this again.
Signed-off-by: alindima <alindima@amazon.com>
Added the option --all-targets to the command in the clippy test for
clippy to also run on the integration tests.
Signed-off-by: Catalin Dumitru <catdum@amazon.com>
Instead of having a static pipeline.yml, autogenerate it from a JSON
configuration file. The json approach is taken because we also want to
be able to run tests locally, and thus the json can be parsed once for
generating the pipeline, and once for generating a local test run.
Signed-off-by: Catalin Dumitru <catdum@amazon.com>