Expand description
Task configuration file format — .oo/tasks.yaml.
Defines the types, parser, and validator for user-defined task definitions. Each task is a named unit of execution that can be a shell command, an ordered sequence, or an unordered parallel composition of other tasks.
§File format
version: 1
tasks:
build:
type: shell
queue: build
command: "cargo build --{mode}"
inputs:
mode:
type: select
options: [debug, release]
default: debug
check:
type: parallel
steps:
- build
- lint§Validation
parse_str and load both run a post-parse validation pass that
checks:
version == 1- All step references point to existing tasks
- Step input-overrides reference declared inputs on the target task
- Shell command
{placeholder}interpolations match declared inputs selectinputs declare a non-emptyoptionslist;defaultmust be one of the optionstext/numbervalidation bounds are consistent; regex patterns compile- No cyclic dependencies in the task graph
Structs§
- Composite
Task Def - Shared structure for
sequenceandparalleltasks. - Config
Error - A validation error produced while loading or validating a
tasks.yaml. - Input
Def - Declaration of a single parameterisable input.
- Shell
Task Def - A task that runs a shell command.
- Tasks
File - Parsed and validated contents of a
tasks.yamlfile. - UiMeta
- Optional human-readable display information for a task.
- Validation
Rules - Validation constraints for an input.
Enums§
- Cancel
Policy - When a new task is scheduled on the same queue, how to handle the current one.
- Input
Type - Data type of a task input.
- Input
Value - A runtime-configurable input value for a task.
- StepRef
- A reference to a task inside a
stepslist. - TaskDef
- A single task definition. The
typefield selects the variant.