Update documentation for design plan
authorFrank Duncan <frank@kank.net>
Fri, 13 Aug 2021 20:09:54 +0000 (15:09 -0500)
committerFrank Duncan <frank@kank.net>
Fri, 13 Aug 2021 20:09:54 +0000 (15:09 -0500)
README.md

index 0a43cf89dd4075acad4bd8bebf6215ad3a8905a1..31727e9dffc9108b664d46afd9e7b07565d7e044 100644 (file)
--- a/README.md
+++ b/README.md
@@ -8,6 +8,44 @@ as the machines on which the CI's are run.
 Each project with a candle file has a .candle file in the root of the project
 with tasks to be run.
 
+= Limitations =
+
+This documentation needs to be updated once more things are working, but this is an
+early version of everything.
+
+This only works in the following:
+
+ * SBCL
+ * Linux
+ * Git as source control
+ * AWS as remote code
+
+There is also no email, and everything else handled via the CLI.
+
+Only one can be running at a time.
+
 = Usage =
 
-Run bin/candle
+* Run bin/candle-server on a server somewhere, so that the candle client can connect to it
+* Add projects via `bin/candle project --add`, see `--help` for more information
+* Run `bin/candle project --show <name>` to show status of project
+  * Includes what branches are failing
+* Run `bin/candle project --list` to show list all projects, and status
+* Run `bin/candle job --log <project>:<sha>` to see log 
+
+= General Design =
+
+For all projects added, a watcher thread runs `git fetch origin` to see if there's any
+new SHAs for which jobs need to be run.
+
+When a previously unknown SHA shows up in the git directory, a job is created for that
+SHA, which then clones the repository into the right place and runs `candle` for that location,
+if there's a .candle file.
+
+A project is failing if any branches are failing, that is to say that the current sha
+for that branch is failing.
+
+== Edge Cases ==
+
+* For SHAs that hang, or get into infinite loops, there's a timeout before the server is killed
+  and marked as failure.