diff options
Diffstat (limited to 'doc/cuirass.texi')
-rw-r--r-- | doc/cuirass.texi | 59 |
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 |