The current release pipelines are problematic for a few reasons:
- Katello Nightly is about the least stable of all environments as foreman releases (or other plugins) can get pushed to nightly which can break katello
- Foreman ships the katello installer bits as part of its repos, so these get shipped out separately (and ahead of) katello.
I’d like to propose that we combine the foreman and katello pipelines into one. This would bring in other plugins such as REX into the main release pipeline. I think its also fine to add additional plugins to the test as well (like the luna pipeline).
I can picture the pipeline doing:
- standalone foreman install & upgrade tests
- katello or luna installation & upgrade tests with wider plugins selected
The benefits i see:
- Better stability across the ecosystem, in nightly and releases
- the pipelines gate releases, not possible to release a foreman release that is incompatible with current plugin
- foreman & katello are released together on the same date, at the same time
- Longer pipeline runs
- Large changes, like ruby or rails upgrades would require all pipeline included plugins to be updated before any change lands in nightly (this could be seen as benefit)
- Requires more coordination between katello and foreman for release dates and z-releases. (this could be seen as benefit).
- Foreman release could be delayed by some bug/issue with a selected plugin (but if these are running nightly together, ideally we would have already caught it).
I’m sure I am missing other downsides or challenges, but i’m eager for discussion