summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2021-09-07 00:24:05 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2021-09-09 17:06:56 +0200
commit6b42ed04202eac4daf3b890e58c793bf9f9ac184 (patch)
tree05cabda1a24d13a1b6616fe4d3e7cb6fbdcd49ff
parent24da4f60d03c77890c8a46eb3e45018e9cbd49df (diff)
downloadrebel-6b42ed04202eac4daf3b890e58c793bf9f9ac184.tar
rebel-6b42ed04202eac4daf3b890e58c793bf9f9ac184.zip
runc: do not generate output when destination directory doesn't exist
It doesn't make sense to create an empty archive. No OutputHash is returned in this case.
-rw-r--r--src/runner/runc/run.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/runner/runc/run.rs b/src/runner/runc/run.rs
index bd32bdb..ab9e0fd 100644
--- a/src/runner/runc/run.rs
+++ b/src/runner/runc/run.rs
@@ -129,6 +129,10 @@ fn collect_output(task: &runner::Task) -> Result<Option<OutputHash>> {
&paths::task_tmp_dir(&task.input_hash),
paths::TASK_TMP_DEST_SUBDIR,
]);
+ if !Path::new(&source).is_dir() {
+ return Ok(None);
+ }
+
let filename = paths::output_tmp_filename(&task.input_hash);
let hash = (|| -> Result<OutputHash> {