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/
+ */