summaryrefslogtreecommitdiff
path: root/yarns/000.yarn
blob: 7a19824eb4852471430f0a733e09b50d1d93d953 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
---
title: Ick2 controller yarns
...


Introduction
=============================================================================

Ick2 will be a continuous integration system. Its core component is
the **controller**, which does nothing, except decides what workers should
do. It knows of the projects that can be built, and keeps track what
step is being run on each project, and collects build output from the
workers.

This document specifies the yarn test scenarios for a minimal viable
version of the controller: there will be a small number of project,
each project builds a web site from source in git, using ikiwiki, and
publishes the website on a server using rsync.

The controller provides an HTTP API for controlling a build. The API
is used by an external entity (such as the git server) to trigger a
build, and by workers or worker proxies to request something to do,
and to report results. The API may also eventually be used by end
users to query status and results.