CANVAS.CONF(5)

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-interval number
    Interval expressed in seconds in which robsd-stat(8) collects statistics. Defaults to 10.

keep number
    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 to yes.

skip { “step” ... }
    Steps to skip.

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}" }
    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
canvas(1), robsd-config(8)

AUTHORS
Anton Lindqvist <anton@basename.se>