Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CI tests for rusty-hermit running on uhyve. #2

Closed
jschwe opened this issue Apr 27, 2020 · 6 comments
Closed

Add CI tests for rusty-hermit running on uhyve. #2

jschwe opened this issue Apr 27, 2020 · 6 comments

Comments

@jschwe
Copy link
Contributor

jschwe commented Apr 27, 2020

Currently it seems that all tests only use rusty-hermit on Qemu. Travis CI has nested virtualization enabled by default (seems to be a recent change). This enables us to test rusty-hermit using uhyve.

I'm currently working on a travis pipeline and I'll be opening a pull request for this.
Meanwhile I'd like to link the following two uhyve issues here, which are important for CI.

@jschwe
Copy link
Contributor Author

jschwe commented Apr 28, 2020

I'm currently working on two Travis CI pipelines.
The first one builds everything as described in the Readme, i.e.

  • Build rusty-hermit demo with rust nightly from rustup and run with uhyve from cargo

The second pipeline compiles everything from source so that regressions due to changes in uhyve or in the rust repo can be quickly identified.

  • The rust compiler fork from hermitcore is used
  • uhyve and rusty-hermit are built from source with the the newly built compiler
  • run rusty-hermit demo on uhyve

@stlankes What do you think about this? And which method of pinning the dependencies (rust and uhyve) do you prefer? I've thought of the following options:

  • Add another repo that includes rusty-hermit, hermitcore/rust and uhyve as submodules. (This is the solution that I'm currently working with)
  • Add rust and uhyve as submodules to this repo
  • Make a config file in this repo
  • Hardcode the branches that should be checked out for rust and uhyve in the travis pipeline ( This is a bit too unflexible in my opinion)

@stlankes
Copy link
Contributor

@jschwe I removed Travis CI support because we have our own pipeline. Using uhyve is not so easy in CI environment. As fas as I know, Travis CI doesn't support nested virtualization. In our environment, we are able to support nested virtualization. It is currently deactivated because we are reconfiguring our setup. @stv0g is our CI expert.

We provide also the compiler as docker image. But this image based on the original nightly compiler and doesn't run any tests.

@jschwe
Copy link
Contributor Author

jschwe commented Apr 28, 2020

Of the major CI providers to my knowledge only Travis CI provides nested virtualization by default. This seems to be somewhat recent too (late 2019 or early 2020 from what I can tell).
Based on your comment I'm assuming you are working on configuring your self hosted gitlab runner to provide nested virtualization, is this correct? Using that would of course be preferred, I just chose Travis because it works by default.

Basically this issue also isn't about which CI provider should be used, but I think it would be good if there where a CI test that tests rusty-hermit running on uhyve, both on current nightly rust builds as well as the current compiler and uhyve version in the repository. This requires specifying the dependency in some form, e.g. via submodules or a config file.

@stlankes
Copy link
Contributor

I agree. I will talk @stv0g if we are enable tests with uhyve on our CI.

@stlankes
Copy link
Contributor

stlankes commented Jun 4, 2020

@jschwe Do we solve this issue?

@jschwe
Copy link
Contributor Author

jschwe commented Jun 5, 2020

Ah yes, thanks for reminding me. CI tests with uhyve were added so I'm closing the issue.

@jschwe jschwe closed this as completed Jun 5, 2020
simonschoening referenced this issue in simonschoening/rusty-hermit Jan 19, 2022
Pull hermitcore master to my fork
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants