feat(tvix/build): add refscanning interface

This provides a generic interface to let the builder search for needles
 in the output, as described in the notes at `docs/src/build/index.md`.

Change-Id: Ic2c5bd563e9aa2e766c157f2b13cdb19aede12f8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12531
Autosubmit: yuka <yuka@yuka.dev>
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
Reviewed-by: Brian Olsen <me@griff.name>
This commit is contained in:
Yureka 2024-09-27 21:48:26 +02:00 committed by clbot
parent b82cacb449
commit 07e0cb1b0a
3 changed files with 153 additions and 42 deletions

View file

@ -100,6 +100,7 @@ pub(crate) fn derivation_to_build_request(
});
let build_request = BuildRequest {
refscan_needles: vec![], // TODO refscan
command_args,
outputs: output_paths,
@ -276,6 +277,7 @@ mod test {
additional_files: vec![],
working_dir: "build".into(),
scratch_paths: vec!["build".into(), "nix/store".into()],
refscan_needles: vec![],
},
build_request
);
@ -345,6 +347,7 @@ mod test {
additional_files: vec![],
working_dir: "build".into(),
scratch_paths: vec!["build".into(), "nix/store".into()],
refscan_needles: vec![],
},
build_request
);
@ -431,6 +434,7 @@ mod test {
],
working_dir: "build".into(),
scratch_paths: vec!["build".into(), "nix/store".into()],
refscan_needles: vec![],
},
build_request
);