Comments (6)
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)
from hermit-rs.
@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.
from hermit-rs.
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.
from hermit-rs.
I agree. I will talk @stv0g if we are enable tests with uhyve on our CI.
from hermit-rs.
@jschwe Do we solve this issue?
from hermit-rs.
Ah yes, thanks for reminding me. CI tests with uhyve were added so I'm closing the issue.
from hermit-rs.
Related Issues (20)
- failed to run rusty-hermit on QEMU qemu-system-aarch64 HOT 1
- Where do we mention that RustyHermit supports `aarch64`?
- Hermit doesn't work on aarch64: rusty-loader can't find DTB for aarch64 HOT 1
- Include `tcp` in the default features of `hermit-sys`
- hermit-abi 0.3.2 git tag and yanking explanation HOT 4
- Add platform support document to Rust docs HOT 1
- Enable generate-link-to-definition
- Support automatic rebuilds for path dependencies of kernel HOT 1
- Can't build with khronos-egl as dependency HOT 3
- Become a Tier 2 Rust target
- Newer kernel submodule required for RISC-V support HOT 4
- Compilation with Hermit dependency as part of a workspace fails HOT 1
- Networking config file HOT 4
- Benchmarking HOT 8
- Hermit randomness API
- Unable to read directory entries HOT 1
- perf: rework laplace demo with ndarray
- Cargo configuration file messes with kernel compilation when using `hermit` crate HOT 1
- Lost TCP packets
- UDP capped at 1472 Bytes HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hermit-rs.