3 Continuous Integration for SBCL based Lisp projects, using AWS instances
4 as the machines on which the CI's are run.
8 Each project with a candle file has a .candle file in the root of the project
13 This documentation needs to be updated once more things are working, but this is an
14 early version of everything.
16 This only works in the following:
20 * Git as source control
23 There is also no email, and everything else handled via the CLI.
25 Only one can be running at a time.
29 * Run bin/candle-server on a server somewhere, so that the candle client can connect to it
30 * Add projects via `bin/candle project --add`, see `--help` for more information
31 * Remove projects via `bin/candle project --delete`, see `--help` for more information
32 * Run `bin/candle project --show <name>` to show status of project
33 * Includes what branches are failing
34 * Run `bin/candle project --list` to show list all projects, and status
35 * Run `bin/candle job --log <project>:<sha>` to see log
39 * Run `bin/candle run` from a candle enabled project
43 For all projects added, a watcher thread runs `git fetch origin` to see if there's any
44 new SHAs for which jobs need to be run.
46 When a previously unknown SHA shows up in the git directory, a job is created for that
47 SHA, which then clones the repository into the right place and runs `candle` for that location,
48 if there's a .candle file.
50 A project is failing if any branches are failing, that is to say that the current sha
51 for that branch is failing.
55 * For SHAs that hang, or get into infinite loops, there's a timeout before the server is killed
56 and marked as failure.