We've just added a new feature to Workflows: Dependencies! Dependencies are workflows that are required by other workflows. When creating a workflow, "workflow C" (child), if you need the outputs from another workflow, "workflow P" (parent), to be available as inputs, you can set "workflow P" (parent) as a Dependency for "workflow C" (child). Here are some of the details to know:
- Running a workflow that has dependencies will automatically launch the dependency workflows on the sample, with default arguments, unless that workflow has already been run.
- All output files from from a parent workflow will be available in the specified directory of a child workflow.
- If a parent workflow has been run previously, the most recently-run version will be used as the dependency, regardless of the arguments used.
- You can only publish a workflow if all of its dependencies have also been published.
- If you run workflows and dependencies in a draft state, and then publish the workflows, running the child workflow will rerun the newly-published parent workflows. We will not use draft runs as inputs to published workflow runs.
- If running a child workflow, and a parent workflow fails, the child will be marked as failed, until the parent workflow completed successfully.
- Rerunning a failed parent workflow will also rerun any child workflows that depend on it.