NAME
canvas.conf —
canvas configuration file
DESCRIPTION
canvas.conf is the configuration file for
canvas(1). A string value type enclosed in
“double-quotes” may refer to other configuration variables on
the form ${variable}.
Additional variables are also available, see
robsd-config(8).
The following variables are recognized:
canvas-name“path”- Name of the canvas.
canvas-dir“path”- Directory used to store invocations.
env{ “key=val” ... }- Environment variables added to all steps.
step“name” [options]- Step to execute, may be given multiple times. The following
options are recognized:
command{ “argument” ... }- Command to execute.
parallel- Execute the step in parallel as opposed of the default of executing each step synchronously.
hook{ “path” ... }- Command to invoke after each non-skipped step, see robsd-hook(5).
stat-intervalnumber- Interval expressed in seconds in which robsd-stat(8) collects statistics. Defaults to 10.
keepnumber- Number of invocations to keep in
canvas-dir, see robsd-clean(8). Defaults to keeping everything. keep-attic yes|no- Instruct robsd-clean(8) to move old invocations to a directory named
attic rooted in
canvas-dir. Otherwise, old invocations are completely removed. Defaults toyes. skip{ “step” ... }- Steps to skip.
timeouttimeout unit- Abort each step if it has been running for more than
timeout. The unit must be
either
s,morh. Defaults to unlimited.
EXAMPLES
Example configuration in which the knfmt utility is built from source and exercised on multiple projects in parallel.
canvas-name "knfmt"
canvas-dir "/tmp"
env { "TMPDIR=${tmp-dir}" }
timeout 1h
step "checkout" command { "sh" "-x" "checkout.sh" }
step "build" command { "sh" "-x" "build.sh" }
step "pick" command { "sh" "-x" "lint.sh" "pick" } parallel
step "robsd" command { "sh" "-x" "lint.sh" "robsd" } parallel
step "yank" command { "sh" "-x" "lint.sh" "yank" } parallel
SEE ALSO
AUTHORS
Anton Lindqvist <anton@basename.se>