?

Log in

Previous Entry | Next Entry

Koschei - continuous integration in koji

Koschei is not only the evil guy from Slavic legends, it's also a tool using Koji for Continuous Integration written by Mikołaj Izdebski and Michael Šimáček. Simple rebuild can test whether tests enabled during build time are still passing or at least if build is still passing after change of dependencies. Regular rebuild can improve state of packages, because build failures are usually found at mass rebuild, which is happening less than once a year.
Real continuous integration means rebuild of whole project after every commit and execution of test suite. When we are talking about Fedora, we can't afford it, because complete rebuild would take a few days. Koschei is running scratch-rebuilds on Koji, because it's executed in same environment as Fedora builds. Also Koji has already lot of hardware and it's maintained by infrastructure team. Scratch-rebuilds are done only on set of packages, when load on Koji is low and priority of package is high. Priority is mainly based on:

  • time since last rebuild

  • dependency changes

  • previous state

Koschei is using:

  • fedmsg for receiving information about new builds or repos

  • for analysis of change of dependencies is used hawkey.

You can look at the list of rebuild packages and what triggered the rebuild. The source can be found at the github. Good place for discussion would be probably Env and Stack Working Group mailing list: https://lists.fedoraproject.org/pipermail/env-and-stacks/2014-June/000428.html