With newer versions of git we need to add an exception
for the `workdir` which is owned by a different user
then the one that is running the git commands.
Signed-off-by: Andreea Florescu <fandree@amazon.com>
The newer versions of git are checking the ownership of directories.
Since the `/workdir` is a shared directory with ownership of buildkite,
we need to add an exception for it.
Signed-off-by: Andreea Florescu <fandree@amazon.com>
Expand the title and changelog description lines to 60 and 75
respectively. That is in line with what other projects do and
allows for better narratives.
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Instead of accounting for any difference in coverage, only fail the test
if the difference between the current coverage and the new coverage is
higher than 0.5%.
Signed-off-by: Andreea Florescu <fandree@amazon.com>
The test was assuming that we always want to run all the tests in an
workspace, but that is not the case when we have multiple crates that we
want to publish part of the same workspace.
To address this issue, we can now select to run the coverage test only
on the crate in scope. This can be achieved by passing the parameter
`--test-scope` with the value "crate". By default, tests are still
running as a workspace so that we do not need to update all the other
rust-vmm components that were counting on this feature.
The `test-scope` option can also be reused in other tests that are
making use of `--all`. For example, cargo build.
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>
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>
Added a default timeout value for each Buildkite step that can be
overridden through the environment variable `TIMEOUTS_MIN`.
Signed-off-by: Catalin Dumitru <catdum@amazon.com>
The use of the static file pipeline.yml is now deprecated. All
pipelines should use the dynamic script autogenerate_pipeline.py.
Signed-off-by: Catalin Dumitru <catdum@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>
Added help options -h, --help for the script that autogenerates
the pipeline and for the one that runs the tests locally. In the
former, replaced the module optparse (which is now deprecated)
with the module argparse.
Signed-off-by: Catalin Dumitru <catdum@amazon.com>
Make it possible for autogenerating pipelines that are not committed to
this repository, but that are passed as a parameter. The need for this
behavior comes from a problem we've been facing with repositories that
also have custom pipelines. It happens that the container version (which
impacts the rust version), and the docker plugin version are lagging
behind, and are making tests ocasionally fail. To make sure that both
custom pipelines and the rust-vmm-ci pipeline are using the same Rust &
other environment versions, we're using the same script for generating
those tests as well.
This cannot be applied to Windows pipelines as they're not using the
rust-vmm-container at the moment.
Signed-off-by: Andreea Florescu <fandree@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>
In the other crates, the tests reside in rust-vmm-ci/intergation_tests.
When we test the CI itself, the tests reside in integration_tests.
Therefore we needed to make the command find the tests independently of
the crate it is run from.
Signed-off-by: Catalin Dumitru <catdum@amazon.com>
In order to be able to run the CI on rust-vmm-ci we needed to
make it a rust crate. Also the path to the coverage config
file needed to be updated in test_coverage.py so that the path
does not depend on the crate; a breadth-first search was used
to guarantee that the config file belongs to the crate that is
being tested.
Signed-off-by: Catalin Dumitru <catdum@amazon.com>
Set default values for the remote name and
base branch when the test is run locally and
the Buildkite variables are not available and
the variables BASE_BRANCH and REMOTE are not set.
Signed-off-by: Catalin Dumitru <catdum@amazon.com>
This version is needed because there are features (for example passing
devices to a container) that are not available in the old version.
Signed-off-by: Andreea Florescu <fandree@amazon.com>
Although we check commit authors in test_commit_format.py to skip tests
for dependabot's commits, the current code only checks the author of the
head commit.
This PR make it check each commit's author so that we can test branches
where both a dependabot's commit and other commits exist.
Signed-off-by: Keiichi Watanabe <keiichiw@chromium.org>
When dependabot updates the rust-vmm-ci submodule, the git commit
sumamry is over 50 chars. To be able to merge PR, exclude the dependabot
user from this checks.
Fixes: https://github.com/rust-vmm/rust-vmm-ci/issues/61
Signed-off-by: Andreea Florescu <fandree@amazon.com>
This is needed for running the integration tests in
vmm-reference. They need access to resources from tmp.
Signed-off-by: Laura Loghin <lauralg@amazon.com>
Until we find a safe way to run the commit format test for
repositories specified with git, we should skip that test
for those repos.
Added a conditional for the corresponding buildkite step
that will run the commit test only if BUILDKITE_REPO
doesn't start with `git@`.
Signed-off-by: Laura Loghin <lauralg@amazon.com>
This commit adds a pytest command line option `--no-cleanup` for
the coverage test. Running the coverage test with this option will
let users save the `kcov_output` directory so that it is easier to
inspect the coverage report.
Signed-off-by: Henry Wang <henry.wang@arm.com>
Commit b3acb307f add the cargo-audit label but indentation is wrong,
making it an invalid YAML, at least from buildkite's point of view.
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>