Actions

You can think of Trunk Actions as IFTTT for your repository. An action is a command that is run when a specified trigger occurs.

The most common Trunk Actions are provided out of the box with trunk, and are triggered to invisibly autoformat (trunk fmt) your commits every time you git commit, and run trunk check when you git push.

Triggers

There are several different types of Trunk Actions, based on when they are triggered:

TriggerDescription

time-based

run on a schedule (once per hour, once per day, once per week)

file modification

run whenever a file or directory in your repo changes.

run whenever a listed githook event fires (e.g. pre-commit, on-push)

manual

trunk run <action-name>

Command Line

trunk actions <command>Description

list

list all available actions in the repository

history <action-name>

print the history for execution of the provided action

enable <action-name>

enable the provided action

disable <action-name>

disable the provided action

run <action-name>

manually trigger the provided action alias: trunk run <action-name>

Discovering Actions

The trunk plugins repo ships with a collection of actions that can help supercharge your repository and provide examples of how to write your own actions. To see a list of actions that you can enable in your repo run:

trunk actions list

Enable/Disable Actions

Trunk only runs actions listed in the enabled section of your trunk.yaml. Some built-in actions are enabled by default and can be disabled explicitly by adding them to the disabled list. You can always run trunk actions list to check the enabled status of an action.

actions:
  enabled:
    - trunk-announce
    - git-lfs
    - trunk-check-pre-push
    - trunk-fmt-pre-commit
    - trunk-cache-prune
    - trunk-upgrade-available

Last updated