65 Commits

Author SHA1 Message Date
Andreea Florescu
e2e2918a73 generate pipeline: support for FW unknown keys
Any keys in the input JSON that we do not recognize we are adding
as they are to the output pipeline. This is needed so that we don't
have to always update the autogeneration script for each new Buildkite
configuration that we want to support.

Signed-off-by: Andreea Florescu <fandree@amazon.com>
2022-10-26 11:14:59 +03:00
Andreea Florescu
b0edd172fc autogenerate_pipeline: use dictionary instead of self
In the script for autogenerating the rust-vmm-ci tests, we were using
self directly for setting the configuration of the tests, and then
we were returning vars(self). This was a pretty obfuscated way of
returning a JSON, so instead we're now just explicitly declaring
a dictionary as part of self, and returning that instead. This
is needed for future extensions as well as we want to be able to
extend the tool such that it supports any keys from the input
to be passed as they are so that we don't need to keep changing it
whenever we need to add support for another Buildkite configuration
parameter.

Signed-off-by: Andreea Florescu <fandree@amazon.com>
2022-10-26 11:14:59 +03:00
Andreea Florescu
5f36cc9604 fix whitespace problems in autogenerate script
Signed-off-by: Andreea Florescu <fandree@amazon.com>
2022-09-12 13:05:35 +03:00
Andreea Florescu
2eab2752c0 allow the timeout to be overwritten in input
Before this patch the timeout could only be overwritten in the
TIMEOUT environment variable. While that approach works and it
is still needed so we can set a different timeout depending
on the repository on which we run the pipeline, we also need a
way to easily set a different timeout in custom tests. This
comes handy when we have custom pipeline for certain crates
and we want to be able to easily specify a timeout in a
more human readable way.

Signed-off-by: Andreea Florescu <fandree@amazon.com>
2022-09-12 13:05:35 +03:00
Andreea Florescu
b3ed1c9253 update to container version 16
This version adds some tooling for fuzzing and updated to Rust 1.63.0.

Signed-off-by: Andreea Florescu <fandree@amazon.com>
2022-08-26 19:48:52 +03:00
Sergii Glushchenko
d216a46879 Update to rustvmm/dev:v15 with Rust 1.58.1
Signed-off-by: Sergii Glushchenko <gsserge@amazon.com>
2022-01-21 17:04:21 +02:00
Sergey Glushchenko
d023262164 Use v14 container image with Rust 1.54
Signed-off-by: Sergii Glushchenko <gsserge@amazon.com>
2022-01-18 17:21:11 +02:00
Andreea Florescu
7f22582590 update container version to v13
In the new container version we're using ubuntu 20.04 as the base image
instead of ubuntu 18.04.

Signed-off-by: Andreea Florescu <fandree@amazon.com>
2021-09-24 14:20:45 +03:00
Catalin Dumitru
472dea07fb Document default timeout for pipeline step
Mentioned that each step in the autogenerated pipeline has a
default timeout of 5 minutes.

Signed-off-by: Catalin Dumitru <catdum@amazon.com>
2021-09-23 17:11:18 +03:00
Catalin Dumitru
dd754bb88e Add timeout for Buildkite steps
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>
2021-09-16 17:11:28 +03:00
Catalin Dumitru
d7ca3dc9f2 Add help option for scripts
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>
2021-09-01 14:29:22 +03:00
Catalin Dumitru
8901e77522 Leftovers from #79
Added copyright info and fixed typos.

Signed-off-by: Catalin Dumitru <catdum@amazon.com>
2021-08-26 12:34:31 +03:00
Catalin Dumitru
cd3d97f923 Allow skipping tests when generating the pipeline
Added a new environment variable for skipping tests if needed.

Signed-off-by: Catalin Dumitru <catdum@amazon.com>
2021-08-25 16:25:48 +03:00
Andreea Florescu
ba2f45c3ac make the test description configurable
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>
2021-08-25 11:33:47 +03:00
Catalin Dumitru
b47488a9b9 Autogenerate pipeline fron json config file
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>
2021-08-19 14:17:39 +03:00