On Wed, Jul 30, 2025 at 1:01 PM Kevin Fenzi <ke...@scrye.com> wrote:
>
> On Wed, Jul 30, 2025 at 03:44:05PM +0200, Miro Hrončok wrote:
> >
> > Let's have draft builds like in CentOS Stream?
> >
> > A pull request is scratch built anyway. Let it build as draft build and when
> > the PR is merged, promote the draft build to a real one (in a side tag if
> > needed).
>
> Are there any docs or description of the full flow there?

Define "the full flow" please? The basics are:

* The merge request is submitted and a request for draft build testing
is made (today while it's in "Beta", this is a Gitlab MR label, in the
near future this will just become the default for all MRs)
* The CI pipeline starts to run, generating a draft build in CS Koji
(and internally in RHEL's Koji infrastructure).
* The completed draft builds are used to run a series of acceptance
tests. If all of them pass, the pipeline grants approval and the
packager can merge. (If the pipeline doesn't grant approval, someone
other than the packager must do so if they need to override the
decision).
* The package hits the merge button and another pipeline (called a
"merge train") begins. This one runs a few final sanity checks (like
verifying that we haven't transitioned from "development" to
"stabilization" phase and requires more stringent approvals) and then
"promotes" the CS and RHEL draft builds to official ones. Then the
merge completes.

> I mean, there's a bunch of corner cases... like you have 5 PR's (so I
> guess you merge one and the rest make new draft builds and the next one,
> etc).
>
> But yeah, we could figure out a setup there...
>

That's an extreme corner case for packaging, since it's quite rare to
have two people working on independent merge requests to update a
package. The solution there is to have the git forge require only
fast-forward merges, which means that once one is merged, the others
will be non-mergeable until they rebase (which will create a new draft
build). In the extremely unlikely event that there's more than one
waiting in the wings, the merge of the first one should be a clear
signal that the remainder should be coordinated so as not to generate
too many useless draft builds.

Such multiple PRs are far more common on upstream packages. So for us
(Fedora), the most likely places to have to deal with that would be
things like SRPM macros, where the package IS the upstream. We may
want to have a separate policy for those. It's an interesting
question. But those are definitely the exception, rather than the
common case.

-- 
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to