Add a new executable type to the flow runner for: $ARGUMENTS
An "executable type" is a new automation block users can declare in .flow files (like exec, serial, parallel, render). Follow these steps in order:
Schema first — add the new type's fields to
types/executable/schema.yaml. Read the existing schema to match the structure. Runflow generateto regeneratetypes/executable/generated.go.Runner handler — create
internal/runner/<type>.goimplementing the runner interface. Readinternal/runner/exec.goorinternal/runner/serial.goas reference for the exact interface and pattern.Register the type — wire the new handler into
internal/runner/runner.go(the dispatch table).Parser support — update
internal/fileparser/if needed to recognize and validate the new type during YAML parsing.Tests — add unit tests in
internal/runner/<type>_test.gousing Ginkgo. UseDescribe/It/Entry— neverFDescribe/FIt. Cover happy path and error cases.Validate — run
flow validateto confirm generate, lint, and tests all pass.
Do not skip the schema step — editing generated files directly will cause CI to fail.
Source: flowexec/flow — distributed by TomeVault.