Skip to main content
Errand uses a simple dot-notation to reference named entities in a playbook. When you reference a block, Errand automatically ensures it runs before any block that depends on it.

Syntax

Where you can use references

In task commands

In computed expressions

In task conditions

In depends_on

depends_on takes a list of task.<name> references:

Implicit vs explicit dependencies

Errand infers dependencies from references. If a task command uses var.version, Errand knows the variable must be resolved before the task runs. You do not need to list variables in depends_on. Use depends_on when the dependency is not expressed in a command or condition, such as an aggregate task:

Cycle detection

Errand detects circular dependencies before execution begins and reports a Cyclic dependency error. Fix cycles by breaking the dependency chain or restructuring tasks.

Undefined references

Referencing a name that does not exist is an Undefined reference error. Errand validates all references before running any task.