polaris.run.graph.build_step_graph

polaris.run.graph.build_step_graph(steps: Iterable[Step]) → StepGraph[source]

Build the graph of which steps have to run before which, and check it.

Parameters:

steps (iterable of polaris.Step) – The steps selected to run, in the order setup listed them – suite, then task, then step within a task. A step shared between tasks may appear more than once and becomes one node.

Returns:

graph (polaris.run.graph.StepGraph) – The graph, which is valid if this returns at all

Raises:

ValueError – If two steps produce the same file, if a step needs an input that nothing produces and that does not already exist, or if the requirements form a cycle