summaryrefslogtreecommitdiff
path: root/doc/cuirass.texi
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2017-09-03 20:00:13 +0100
committerChristopher Baines <mail@cbaines.net>2017-09-03 20:00:13 +0100
commitce63fc3e470a81906eb0e06203809ec073f31c72 (patch)
treeddc0a9bd73c4568530e301472ac7fae0c1d2e109 /doc/cuirass.texi
parent7cee071e503ae2c68ba49dc494a4db759e1dd555 (diff)
downloadcuirass-ce63fc3e470a81906eb0e06203809ec073f31c72.tar
cuirass-ce63fc3e470a81906eb0e06203809ec073f31c72.tar.gz
WIP
Diffstat (limited to 'doc/cuirass.texi')
-rw-r--r--doc/cuirass.texi59
1 files changed, 59 insertions, 0 deletions
diff --git a/doc/cuirass.texi b/doc/cuirass.texi
index 2899ffb..a8d2af7 100644
--- a/doc/cuirass.texi
+++ b/doc/cuirass.texi
@@ -339,6 +339,65 @@ This text field holds the absolute directory name of the build output or
@code{NULL} if the build failed.
@end table
+@section Database State Machine
+
+
+ -> Read in and store @code{Specifications}
+
+ -> Main loop
+
+ -> Fetch @code{Specifications}
+
+ -> For each @code{Specification}
+
+ -> If a @code{Stamp} does not exist?
+
+ -> Create and store an @code{Evaluation}
+
+ -> For each job
+
+ -> Create a @code{Derivation}
+
+ -> Build all derivations for jobs
+
+ -> For each job
+
+ -> Create a @code{Build}
+
+
+Specification part
+
+ -> Loop
+
+ -> Read in and store @code{Specifications}
+
+ -> Trigger creating a @code{Evaluation} / @code{Stamp} ???
+
+Evaluation part
+
+ -> Check if an @code{Evaluation} / @code{Stamp} exists?
+
+ -> Create an @code{Evaluation} / @code{Stamp}
+
+ ...
+
+ -> Build all derivations for jobs
+
+ -> Trigger storing results
+
+Build results part
+
+ -> Check if the derivation has build?
+
+ -> Create a @code{Build}
+
+
+
+The database contains the following tables: @code{Specifications},
+@code{Stamps}, @code{Evaluations}, @code{Derivations}, and
+@code{Builds}. The purpose of each of these tables is explained below.
+
+
@c *********************************************************************
@node Contributing