Mercurial > sci
diff doc/mainpage.c @ 33:1d0ddf9e6efd
misc: general documentation
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 04 Aug 2022 16:47:10 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/mainpage.c Thu Aug 04 16:47:10 2022 +0200 @@ -0,0 +1,58 @@ +/** + * \mainpage + * \brief Welcome to sci documentation + * + * This is sci, the simple continuous integration framework. + * + * The documentation available here targets users who want to hack on sci code, + * for user general documentation please read the appropriate manual pages. + * + * ## General overview + * + * The framework is split between three applications: + * + * - `scid`: the main daemon providing database access through HTTP (using + * CGI/FastCGI). + * - `scictl`: main user utility to manipulate the sci framework using the + * command line. + * - `sciworkerd`: daemon that fetches jobs, run them and send the result. + * + * ## Data models + * + * Every data model is converted back-and-forth using JSON all over the + * application to avoid converting over and over into native types. Also, + * because the framework uses [mustache][] and Javascript based themes it's + * easier to share the data model using this format. + * + * ### project + * + * - `name` (string): unique project identifir + * - `desc` (string): project description + * - `url` (string): project homepage or repository URL + * - `script` (string): code to execute + * - `date` (int): created timestamp + * + * ### worker + * + * - `name` (string): unique worker identifier + * - `desc` (string): worker description + * + * ### job + * + * - `id` (int): unique job id + * - `tag` (string): job tag (e.g. repository revision) + * - `project_name` (string): project name referenced + * - `date` (int): created timestamp + * + * ### jobresult + * + * - `id` (int): unique jobresult id + * - `job_id` (int): job id referenced + * - `worker_name` (string): worker name referenced + * - `console` (string): script console output + * - `exitcode` (int): script exit code (only if sigcode == 0) + * - `sigcode` (int): termination signal if interrupted (exitcode will be 0) + * - `date` (int): created timestamp (not the worker job timestamp) + * + * [mustache]: https://mustache.github.io/ + */