We now have a pipeline for updates to Candlepin [1]. The Candlepin SRPM can now be fed into Copr [2] where it will get built and then through our CI pipeline will get turned into a staging repository [3], tested against our puppet-candlepin acceptance tests [4] and if passing pushed out to the new production location [5].
The intent is also to “branch” the nightly builds into a release target, e.g. 4.3 [6], that Katello releases can be released against for stability. Here is a proposal for how that would work and affect the release process:
- At branch time, a new branch of candlepin-packaging will get created for the target Candlepin version (e.g. rpm/4.4).
- The current Candlepin build in nightly would get forked into a corresponding Copr repository
- Pipelines in Jenkins and Forklift would get updated accordingly with this Candlepin version
- Run the Candlepin pipeline for the target version at least once
Updates to Candlepin for a released Katello
- If Candlepin nightly is still on the same version (e.g. 4.4) nightly will get updated and then cherry-picked into rpm/4.4 to land for the Katello release
- If Candlepin nightly is ahead, then the version will get built only against the target release
This does raise a fair question of does ‘nightly’ in this context provide value compared to using only versioned release streams of Candlepin. On this, I am looking for feedback.
[1] candlepin-nightly-rpm-pipeline [Jenkins]
[2] @theforeman/candlepin-nightly-staging Copr
[3] Index of /candlepin/nightly
[4] https://github.com/theforeman/puppet-candlepin/tree/master/spec/acceptance
[5] Index of /candlepin/nightly
[6] @theforeman/candlepin-4.3-staging Copr