Bodhi issue #5955 points at a FIXME in models.py (currently line 4180) saying the test case and bug feedback requirements should be wired into the update gating logic. They never have been, so require_bugs and require_testcases currently do nothing.
What makes this more than a small bug fix is the current default state. On develop today:
models.py:2058-2059- both columns areColumn(Boolean, default=False)schemas.py:250-257- the API schema setsmissing=Truefor bothnew_update.html:274-279- the web UI renders both switchescheckedfor any new update
So for anything created through the API or the web form both flags are effectively on, and have been for years while doing nothing. Wiring up enforcement wouldn’t be a quiet rollout - it would start gating real updates the day it lands, for every update with an associated bug that hasn’t had positive feedback.
@mattiaverga raised exactly this on the issue:
I suppose it will cause “unexpected behavior”… better to be discussed/announced in the Fedora devel mailing list or on Fedora Discuss.
So, two questions before anyone writes code:
- Should the defaults flip to off, so enforcement only applies where a maintainer has deliberately opted in?
- Or is gating-by-default the intended behaviour, in which case this wants an announcement and probably a release to bake in?
There’s some overlap with @adamwill’s rmdepcheck gating proposal from July - different check, but the same underlying question of what holds an update back from stable and who gets to waive it. Might be worth deciding these consistently rather than one at a time.
Happy to do the implementation either way once there’s a direction. @adamwill sketched the shape of the code change on #5956 already.