#4468 Cannot run dist-repo against tags containing draft builds
Opened by stevetraylen. Modified

Currently as soon a tag contains draft builds any attempt to run dist-repo results in an early exit.

koji dist-repo mytag9al-testing
FAILED: BuildError: Draft build: myrpm-1.1-38.el9,draft_4 is not allowed

https://pagure.io/koji/pull-request/4376

that’s fine of course however being able to override that decision would be useful.

Propose adding two options:

  • --with-draft will consider a draft build as the latest build.
  • --without-draft will ignore draft builds and just typically take the latest non-draft build.

It's the --without-draft I'm particular interested but adding both at the same time probably makes sense. In particular we use dist-repo to create external to koji yum repositories and as things stand DRAFT builds are not available to us due to this.

References:

  • mailing list - https://lists.fedorahosted.org/archives/list/koji-devel@lists.fedorahosted.org/thread/2I6ULQNDX3YDFL5HMLPIW2HIEOXVWPMN/
  • merge request - https://pagure.io/koji/pull-request/4376

When we introduced draft builds, we did not intend to redefine the notion of latest build for a tag. For a given tag and package, there is one latest build, which may be a draft build or not.

We blocked draft builds from dist-repos in the initial PR out of caution, as dist-repos are were originally meant for creating content for some sort of publication. Blocking draft builds seemed sensible. That said, dist-repos are a very odd use case in Koji and already break a number of rules that Koji's normal repos follow.

I'm very cautious about adding any further confusion to the notion of latest build here. What about just adding an --allow-draft option that disables the restriction, without modifying any parameters to the listTaggedRPMS call? It seems like this alone would address the problem stated in the subject.

The best way to keep draft builds out of a dist-repo is to keep draft builds out of the tag that dist-repo is made from.

Metadata Update from @mikem:
- Custom field Size adjusted to None

We also should adjust the tag2distrepo plugin as part of this I believe.

This issue has been migrated to Fedora Forge:
https://forge.fedoraproject.org/koji/koji/issues/4468

Please continue any further discussion there.

Metadata