{% extends "base.html" %} {% block content %}

Documentation

What is Koschei?

Koschei is a continuous integration system for RPM packages. It tracks dependency changes done in Koji repositories and rebuilds packages whose dependencies change.

What are it's benefits?

Currently, with each release of Fedora there are lot of packages that fail to build from source because their dependencies were updated to an incompatible version. The breakage is usually detected during the mass rebuild and fixing of the FTBFS bugs is a tedious process, because it's hard to determine the exact cause of the failure. Koschei could narrow down the set of packages that may be the cause to just one or two which could reduce the time spent on fixing such bugs.

How it works?

Dependency resolution is done via hawkey library, which is also used by dnf which will be the standard package manager in the next Fedora release. That allows us to mimic the resolution happening in Koji as closely as possible. Resolution for build scheduling is done using the latest repo and submitted builds are resolved again as they complete. The reason for that is that we have no control over exact repo used to build the package and therefore we cannot safely assume it would be the same as the one we have as the latest. Packages are prioritized according to the number of dependencies that have changed, their distance in the dependency graph and the time since the last rebuild.

Doesn't it overload Koji?

No, there are multiple mechanisms to ensure that performance of Koji is not affected too much. It stops submitting builds when Koji load is higher than predefined threshold, which is set to a reasonably low value. It also limits the number of simultaneously running builds.

How can I add my packages?

Login with your FAS account and select Add packages tab. There you can enter/paste a list of package names that will be then be watched by Koschei. You can add any packages you want, not just the ones you maintain. It will check package existence in Koji.

What repos does it use?

It uses Fedora Rawhide repos directly from Koji.

Can it watch more Koji instances?

Not at the same time, you would need a separate instance of Koschei. {% endblock %}