diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2021-10-30 13:13:45 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2021-10-30 14:25:12 +0200 |
commit | 0440d1a4b8953f9cb8a39d5c6f4f549157db41e8 (patch) | |
tree | b4af4974fe9dc3fdd703b7add706b0edee799ae4 | |
parent | cbf29a18ce56a929452c832f10c3ca3cc143a73c (diff) | |
download | rebel-0440d1a4b8953f9cb8a39d5c6f4f549157db41e8.tar rebel-0440d1a4b8953f9cb8a39d5c6f4f549157db41e8.zip |
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.
-rw-r--r-- | crates/common/src/types.rs | 2 | ||||
-rw-r--r-- | crates/driver/src/driver.rs | 4 | ||||
-rw-r--r-- | 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<InputHash>, pub layer: Option<LayerHash>, pub outputs: HashMap<String, ArchiveHash>, } 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, }) |