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

RFC: A plan for open source integration tests #28

Open
7 tasks
rrnewton opened this issue Nov 29, 2022 · 2 comments
Open
7 tasks

RFC: A plan for open source integration tests #28

rrnewton opened this issue Nov 29, 2022 · 2 comments
Labels
enhancement New feature or request

Comments

@rrnewton
Copy link
Contributor

rrnewton commented Nov 29, 2022

In the initial release, we have internal (buck, monorepo) integration testing of hermit, but don't yet have an OSS solution for full CI testing.

Our initial plan for building out OSS CI involves these steps:

  • Create a .nix expression for a build enivironment with buck[1]
  • Create a .buckconfig
  • Port tests/TARGETS and tests/helpers.bzl to either use a shims, possibly high-level wrappers for rust_binary,cpp_binary etc.
  • Have the tests depend use the cargo-built hermit (target/debug/hermit), rather than attempting to build hermit with buck externally.
  • Build a CI script that uses buck build and buck test for these integration tests.
  • Make sure it runs locally, and expose an easy validate script that people can call themselves.
  • Find or provision an external VM that is configured with perf counters and CPUID to be able to actually run these tests (CircleCI?)
@rrnewton rrnewton added the enhancement New feature or request label Nov 29, 2022
@VladimirMakaev
Copy link
Contributor

Alternatively Docker can be explored heavily here. I actually think it might be easier than dealing with .nix. It should be easy to build a reusable docker image with "buck" as entrypoint that is used as CLI

@rrnewton
Copy link
Contributor Author

Well, Docker and nix can be used together for sure. Nix (the package manager) is more an alternative to apt-get here. I didn't get the sense from the buck1 website that it is well packaged for distros...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants