Skip to content

Commit

Permalink
fix(tvix/glue/tvix_store_io): also populate input sources
Browse files Browse the repository at this point in the history
These also need to be present in the input nodes of the BuildRequest.

Change-Id: Ie9b957805e42f766002581adc6182a6543c5333b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11802
Reviewed-by: Brian Olsen <[email protected]>
Tested-by: BuildkiteCI
Autosubmit: flokli <[email protected]>
  • Loading branch information
flokli authored and clbot committed Jun 13, 2024
1 parent 1006451 commit fe60231
Showing 1 changed file with 23 additions and 2 deletions.
25 changes: 23 additions & 2 deletions glue/src/tvix_store_io.rs
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ impl TvixStoreIO {
// Provide them, which means, here is where we recursively build
// all dependencies.
#[allow(clippy::mutable_key_type)]
let input_nodes: BTreeSet<Node> =
let mut input_nodes: BTreeSet<Node> =
futures::stream::iter(drv.input_derivations.iter())
.map(|(input_drv_path, output_names)| {
// look up the derivation object
Expand Down Expand Up @@ -244,6 +244,27 @@ impl TvixStoreIO {
.try_collect()
.await?;

// add input sources
// FUTUREWORK: merge these who things together
#[allow(clippy::mutable_key_type)]
let input_nodes_input_sources: BTreeSet<Node> =
futures::stream::iter(drv.input_sources.iter())
.then(|input_source| {
Box::pin(async {
let node = self
.store_path_to_node(input_source, Path::new(""))
.await?;
if let Some(node) = node {
Ok(node)
} else {
Err(io::Error::other("no node produced"))
}
})
})
.try_collect()
.await?;
input_nodes.extend(input_nodes_input_sources);

span.pb_set_message(&format!("🔨Building {}", &store_path));

// TODO: check if input sources are sufficiently dealth with,
Expand All @@ -261,7 +282,7 @@ impl TvixStoreIO {
.await
.map_err(|e| std::io::Error::new(io::ErrorKind::Other, e))?;

// TODO: refscan?
// TODO: refscan

// For each output, insert a PathInfo.
for output in &build_result.outputs {
Expand Down

0 comments on commit fe60231

Please sign in to comment.