From 0440d1a4b8953f9cb8a39d5c6f4f549157db41e8 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Sat, 30 Oct 2021 13:13:45 +0200 Subject: Make TaskOutput input hash optional The input hash is used for the summary output only. For empty tasks, we want to skip submitting the task to the runner at all, so there is no input hash. --- crates/common/src/types.rs | 2 +- crates/driver/src/driver.rs | 4 +++- crates/runner/src/task.rs | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/crates/common/src/types.rs b/crates/common/src/types.rs index 0dad60c..14d8c16 100644 --- a/crates/common/src/types.rs +++ b/crates/common/src/types.rs @@ -45,7 +45,7 @@ pub struct Task { #[derive(Clone, Debug, Deserialize, Serialize)] pub struct TaskOutput { - pub input_hash: InputHash, + pub input_hash: Option, pub layer: Option, pub outputs: HashMap, } diff --git a/crates/driver/src/driver.rs b/crates/driver/src/driver.rs index d7106c3..375c567 100644 --- a/crates/driver/src/driver.rs +++ b/crates/driver/src/driver.rs @@ -121,7 +121,9 @@ impl<'ctx> CompletionState<'ctx> { for (task_ref, task) in tasks.iter() { println!(); println!("{:#}", task_ref); - println!(" input: {}", task.input_hash); + if let Some(hash) = task.input_hash { + println!(" input: {}", hash); + } if let Some(hash) = task.layer { println!(" layer: {}", hash); } diff --git a/crates/runner/src/task.rs b/crates/runner/src/task.rs index 47fa9e4..a6fbd25 100644 --- a/crates/runner/src/task.rs +++ b/crates/runner/src/task.rs @@ -399,7 +399,7 @@ fn run_and_hash_task( move_layer(input_hash, &layer)?; Ok(TaskOutput { - input_hash: *input_hash, + input_hash: Some(*input_hash), layer, outputs, }) -- cgit v1.2.3