summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2021-10-30 13:13:45 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2021-10-30 14:25:12 +0200
commit0440d1a4b8953f9cb8a39d5c6f4f549157db41e8 (patch)
treeb4af4974fe9dc3fdd703b7add706b0edee799ae4
parentcbf29a18ce56a929452c832f10c3ca3cc143a73c (diff)
downloadrebel-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.rs2
-rw-r--r--crates/driver/src/driver.rs4
-rw-r--r--crates/runner/src/task.rs2
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,
})