This is just patchset 10 of CL10855, before the color_eyre changes,
rebased to the tvix_castore api.
Change-Id: If4b42412ff8568058908cda971ad7d6f2d9f9b7b
---
This provides a build service invoking runc. It can be used by using the
`oci://$path_to_some_tempdir` builder URL for now.
For now, it can be tested as such:
```
BUILD_SERVICE_ADDR=oci://$PWD/bundles target/debug/tvix
let pkgs = (import <nixpkgs> {}); in builtins.readDir pkgs.perl
```
readDir is to actually trigger IO into the store path (which triggers
the builds).
For now it fails due to missing reference scanning (see followup CLs).
Change-Id: I09b40e410114ce69966a41a0e3c33281b859e443
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12526
Autosubmit: yuka <yuka@yuka.dev>
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
13 lines
502 B
Rust
13 lines
502 B
Rust
mod bundle;
|
|
mod spec;
|
|
|
|
pub(crate) use bundle::get_host_output_paths;
|
|
pub(crate) use bundle::make_bundle;
|
|
pub(crate) use spec::make_spec;
|
|
|
|
/// For a given scratch path, return the scratch_name that's allocated.
|
|
// We currently use use lower hex encoding of the b3 digest of the scratch
|
|
// path, so we don't need to globally allocate and pass down some uuids.
|
|
pub(crate) fn scratch_name(scratch_path: &str) -> String {
|
|
data_encoding::BASE32.encode(blake3::hash(scratch_path.as_bytes()).as_bytes())
|
|
}
|