pub fn validate_workflow_graph(
executors: &HashMap<String, Arc<dyn Executor>>,
edge_groups: &[EdgeGroup],
start: &str,
output_executors: &[String],
intermediate_executors: &[String],
) -> Result<(), WorkflowValidationError>Expand description
Validate a workflow graph. Rust analogue of validate_workflow_graph.
Checks, in order:
- the start executor is registered;
- every edge references a registered executor;
- no directed
(source, target)edge is duplicated; - every executor is reachable from the start node;
- the workflow-output designation (
output_executors/intermediate_executors) does not overlap and only names known executors.