diff --git a/src/dflow/steps.py b/src/dflow/steps.py index 62beafd2..5cfbba03 100644 --- a/src/dflow/steps.py +++ b/src/dflow/steps.py @@ -9,7 +9,7 @@ step_output_parameter_pattern) from .config import config, s3_config from .context_syntax import GLOBAL_CONTEXT -from .io import Inputs, Outputs +from .io import Inputs, Outputs, OutputArtifact from .op_template import OPTemplate from .step import Step, add_slices from .utils import ProcessPoolExecutor @@ -285,6 +285,9 @@ def run(self, workflow_id=None, context=None, stepdir=None): step[j].outputs.parameters[ name].value = value for name, path in arts.items(): + if name not in step[j].outputs.artifacts: + step[j].outputs.artifacts[name] = \ + OutputArtifact() step[j].outputs.artifacts[ name].local_path = path logging.info("Outputs of %s collected" % step[j])