Skip to main content
# Cobra Commander - Henchman
You mindless husk, you.


## Snakefiles
A snakefile is what is used to configure and run a Henchman build. A snakefile can be any arbitrary file or executable so long as it outputs valid JSON to stdout when it is invoked.

There is only one key/value that __must__ be in your snakfile JSON;

- `build`: an array of strings containing the steps required to build your project. These are executed serially.

However there are also a bunch of other optional properties that you can set in your snakefile to achieve different outcomes, here are a few;

- `environment`: an object whose keys/values are environment variables that should be set prior to any `build` steps being invoked.
- `hooks`:
- `before_build`
- `after_build`
- `after_passing`
- `after_failing`


## Extensions (notes for future spec)

Extensions come a in a bunch of different flavours, usually depending on the function that they provide.

Extensions may add extra abilities and functionality at certain registration points within the build process (eg; post build, during hooks, etc.)

If an extension needs configuration or params before being invoked at its registration point they can be passed in the snakefile as such;

'hooks': {
'before_build':[
['my_extension', ['args'], {'kwargs':'foo'}],
['my_other_extension', ['args']],
['etc']
]
}

Release history Release notifications | RSS feed

This release

0.1 This release

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page