Skip to main content


Configures a task to be ran within the action pipeline.




args: TaskArgs

Arguments to pass to the command when it's ran. Can be defined as a string, or a list of individual arguments.


command: TaskArgs

The command or command line to execute when the task is ran. Supports the command name, with or without arguments. Can be defined as a string, or a list of individual arguments.


Other tasks that this task depends on, and must run to completion before this task is ran. Can depend on sibling tasks, or tasks in other projects, using targets.


description: null | string

A human-readable description about the task.


env: Record<string, string>

A mapping of environment variables that will be set when the task is ran.


extends: null | string

Extends settings from a sibling task by ID.


inputs: null | string[]

Inputs and sources that will mark the task as affected when comparing against touched files. When not provided, all files within the project are considered an input. When an empty list, no files are considered. Otherwise, an explicit list of inputs are considered.


local: null | boolean

Marks the task as local only. Local tasks do not run in CI, do not have options.cache enabled, and are marked as options.persistent.


Options to control task inheritance and execution.


outputs: null | string[]

Outputs that will be created when the task has successfully ran. When cache is enabled, the outputs will be persisted for subsequent runs.


The platform in which the task will be ran in. The platform determines available binaries, lookup paths, and more. When not provided, will be automatically detected.


type: null | TaskType = null | TaskType

The type of task, primarily used for categorical reasons. When not provided, will be automatically determined.