I would like to test Fedora Copr capabilities in serving us as the
main build system instead our Koji instance. With assistance from
Mirek Suchy, lead Copr developer, I would like to do proof-of-concept
of integrating Copr into our workflow as a secondary build system
together with Koji. The idea is to run both in paralel for some time
to excercise integration and stability, then doing one release from
Copr while keeping Koji up and running. After one successful release,
we will be able to deprovision the Koji instance and all its builders.
Since Tito supports Copr, integration should be relatively easy. There
are some limitations we need to workaround. Comp files are being
uploaded via Copr user interface, there is no API/CLI yet but the
question is if we want to use comps at all. Might be better idea to
filter out packages during downloading it from Copr to our file
server. Second known limitation is that Copr uses its own embedded
signing procedure (everything is signed by default) while we will want
to sign releases by ourselves. Since we do this manually today, we can
simply sign packages again before uploading them to the target server.
Delete existing testing Copr repositories in @theforeman Copr group,
it's not shown in the UI who created them but I believe it was Dominic
or Eric: https://copr.fedorainfracloud.org/groups/g/theforeman/coprs/
Create new project structure and set necessary build roots and SCL dependencies.
Rebuild all nightly packages so they are all built in Copr
successfully for the first time via tito. This will be a PR in
foreman-packaging with all necessary configuration changes. We will
create Etherpad page to track the progress.
Merge the tito configuration change and update Jenkins job to build
nightly on both Koji and Copr in parallel.
This is the first stage, the second one will be doing a proper release
from Copr rather than Koji. Ideally, this would be 1.16 bit if we
don't hit this one, we can take our time.
If you want to help, please let me know. The first step is to set
things up. Please keep Mirek in CC, if you have comments, questions or