feed-gipeda- CI service around gipeda

Safe HaskellNone



The master node works as follows:

  1. Maintain updated local clones of a number of configured repositories
  2. Ask gipeda which of those repositories have commits that need to be benchmarked
  3. Notify the caller for each (Repo, SHA) pair (to delegate work to slaves)
  4. Call gipeda when either the repository or some benchmark result file changed

If in Watch mode (as opposed to OneShot mode), the configuration file is watched for updates to the actively watched repositories, as well as fetches all currently watched repositories at a fixed interval. Existing clones are detected and reused, so that restarting the daemon will not do unnecessary work.



checkForNewCommits :: Paths -> Deployment -> BuildMode -> CommitQueue -> IO () Source #

See the module docs. This function builds up the FRP network with primitives from reactive-banana. No other module should be tainted by that.