On Thu, Feb 27, 2025 at 5:48 PM Adam Williamson <adamw...@fedoraproject.org> wrote:
> On Thu, 2025-02-27 at 09:32 +0100, Nikita Popov wrote: > > Hi! > > > > Is it possible to somehow limit some gating rules in gating.yml only to > > Fedora rawhide? For example, to gate on rpmdeplint (which is only > available > > for rawhide), we've tried something like this: > > > > --- !Policy > > product_versions: > > - fedora-rawhide > > decision_contexts: > > - bodhi_update_push_stable > > - bodhi_update_push_stable_critpath > > rules: > > - !PassingTestCaseRule {test_case_name: > > fedora-ci.koji-build.rpmdeplint.functional} > > > > But the rule does not get enforced. > > > > The documentation at > > https://gating-greenwave.readthedocs.io/en/latest/policies.html implies > > that using a fedora-rawhide product version is supported, but we suspect > > that greenwave expects fedora-43 instead. However, this would require > > updating the gating configuration every time Fedora branches. > > Yes, you're correct. This is because it's Bodhi (usually) that applies > the gating, and Bodhi doesn't *really* understand the concept of > "Rawhide". There is no single long-lived Rawhide release in Bodhi's > model - we just have a "Fedora 43" release right now, that will still > be 43 when 43 branches, and we'll create a new "Fedora 44" release at > that point. > > So when Bodhi queries greenwave for a "Rawhide" update, it queries with > the product_version set as 'fedora-NN', not 'fedora-rawhide'. So a > 'fedora-rawhide' policy will not match. The code is at: > > > https://github.com/fedora-infra/bodhi/blob/1efe4475d33bad7137a142afa78f1b15e94bc91d/bodhi-server/bodhi/server/models.py#L2337 > > https://github.com/fedora-infra/bodhi/blob/1efe4475d33bad7137a142afa78f1b15e94bc91d/bodhi-server/bodhi/server/models.py#L3858 > > So yes, unfortunately, this is a bit awkward. > Thanks for the confirmation and the references! > Potentially, we could have Bodhi figure out when the release it's > working on "is" Rawhide (we have various implementations of this...) > and do additional queries against 'fedora-rawhide'. But that doubles > the number of queries run at any given time, and for some updates it > already has to run rather a lot of queries. Greenwave allows a single > query to specify multiple decision contexts and/or 'subjects' in a > single query, but not multiple product_versions. I'm not sure I'd want > to make greenwave accept multiple product_versions, it feels inherently > odd aside from this "they're really just different names for the same > thing" case. > > Perhaps we could instead come up with some kind of 'alias' concept for > greenwave? I'll have to poke around in the greenwave code and see if > that's feasible. In that case we'd just have to update the alias in > greenwave config at each branch point, it can even be templated. > Treating it as an alias on the greenwave side sounds like a good idea to me. Regards, Nikita
-- _______________________________________________ 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