arcalot / arcaflow-engine

Arcaflow is a highly-portable workflow engine enabling modular and validated pipelines through containerized plugins.
https://arcalot.io/arcaflow/
Apache License 2.0
6 stars 9 forks source link

Disable Steps #110

Open jaredoconnell opened 11 months ago

jaredoconnell commented 11 months ago

Please describe what you would like to see in this project

Add a way to disable steps. This would be a value that if true, the step is disabled. A disabled step should not have its schema run, and it should immediately resolve outputs.

Please describe your use case

This would allow the creation of a workflow that supports all desired features, with inputs that would allow disabling steps. For example, if you ran both steps A and B normally, but wanted to make step B optional, you could set step B's disabled field with a workflow input. If it's disabled, it doesn't bother running that step. It would be like having a workflow with that step removed from the YAML.

Inputs would logically use required_if to only be required if the steps they depend on are required.