We recently received (from two different SIGs) "feature requests" on our infra tracker:
- https://gitlab.com/CentOS/infra/tracker/-/issues/1853 (Draft builds) - https://gitlab.com/CentOS/infra/tracker/-/issues/1860 (sidetag)
# Draft Builds The first one (requested by Hyperscale SIG) was to enable the "draft build" feature from koji (https://docs.pagure.org/koji/draft_builds/)
If you're interested in such feature, it's now deployed and available on cbs.centos.org. So far, SIGs were building and we had something in mind before draft builds were a possibility, so as a reminder, your builds are being tagged to -candidate first. You can then iterate, and when happy, you can "promote" to -testing (pgks are signed and pushed to testing mirrors) and then promote once again to -release (pkgs are already signed but repodata files are also signed and it goes to whole mirror network) That's the concept explained in the SIG Guide (https://docs.centos.org/centos-sig-guide/delivery/)
Draft builds are another way to work around that, by allowing multiple builds of the *same* pkg NVR (you can read the whole logic on upstream koji doc website above, but the idea is to just add an extra suffix in the NVR), and then promote *one* of these builds as the real build (NVR without any suffix)
You can (optional) work with draft builds if you consider that it's it might be useful but just keep in mind that draft builds aren't scratch builds ! We have cleanup of scratch builds, but draft builds are there to stay in db/filesystem so don't abuse that (if you think you need but for cbs usage , my personal take is that it's not needed)
We'll keep an eye on disk usage and if SIGs are using it or not
# Sidetag The other request came from Automotive SIG, about a need to build "aside" some specific packages (in an isolated buildroot). That is possible with the sidetag plugin (https://docs.pagure.org/koji/plugins/#sidetag) In short, it lets you (packagers/SIGs members) request a specific "side" build tag/target, inheriting your existing build tag, to let you build inside that tag and then tag multiple packages back into your -candidate,-testing,-release tags (BAU) The "advantage" of such sidetag[s] is that you only have to request it through koji api, and not through infra ticket
As these tags are also created "on the fly", let me though add that these are "transient" build environments, and so they'll be automatically cleaned up on regular intervals (defined through our ansible role), but let's start with a delay of 30 days (after that, it's all deleted, but you have time to build what you want and then tag all the built packages in your real tag)
I'll update the sig guide to reflect these new options in case other SIGs would find these useful in their workflow
Kind Regards,