view doc/mainpage.c @ 69:158364bdebc4

misc: add INSTALL.md
author David Demelier <markand@malikania.fr>
date Sat, 20 Aug 2022 12:11:44 +0200
parents 1d0ddf9e6efd
children
line wrap: on
line source

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