From ebf224f92fccf780cd4fe4b96fc84e7876cbe1e6 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Fri, 12 Sep 2025 14:39:11 -0700 Subject: [PATCH] Bodhi config: add a 'betafreeze' release status This allows us to apply the +1/+2/7 day/14 day requirements at Beta freeze time without also disabling blocking in the Koji hub config. We want to apply the requirements on *entering* Beta freeze rather than *exiting* it to avoid an awkward situation where updates reach a 3-day autopush threshold during the freeze and are submitted for stable, but when we apply the 7-day/14-day requirements at the time of lifting the freeze, they do not meet that requirement and are ejected from the stable push. Applying the requirements on entering Beta freeze should avoid this issue. Beta freezes always last longer than 11 days, so it should never be possible for an update created under the 3-day requirements to get into a 'regular' stable push during the next 11 days. The manual stable pushes for FE and blocker bugs done during freezes use the bodhi-push script, which does not check any requirements, so the issue won't occur there either. Signed-off-by: Adam Williamson --- roles/bodhi2/base/templates/production.ini.j2 | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/roles/bodhi2/base/templates/production.ini.j2 b/roles/bodhi2/base/templates/production.ini.j2 index c24683c2df..cf1f47f1e4 100644 --- a/roles/bodhi2/base/templates/production.ini.j2 +++ b/roles/bodhi2/base/templates/production.ini.j2 @@ -567,9 +567,7 @@ fedora_modular.mandatory_days_in_testing = 7 # You can define alternative policies than the defaults for specific Releases by defining a setting # of the form Release.name.status (with -'s removed from the name). You can set the status to any # string you like, and then for each status, you can override the mandatory days in testing, the -# critpath number of admin approvals, and the critpath minimum karma. For example, if we want to set -# Fedora 28 as a pre-beta, and we want it to have different rules in pre-beta and post-beta, we -# could do something like this: +# critpath number of admin approvals, and the critpath minimum karma. {% if FedoraBranchedBodhi is defined and FedoraBranchedBodhi == 'preenable' %} f{{ FedoraBranchedNumber }}.status = pre_beta @@ -583,12 +581,12 @@ f{{ FedoraBranchedNumber }}.pre_beta.mandatory_days_in_testing = 3 f{{ FedoraBranchedNumber }}.pre_beta.min_karma = 1 f{{ FedoraBranchedNumber }}.pre_beta.critpath.min_karma = 1 f{{ FedoraBranchedNumber }}.pre_beta.critpath.mandatory_days_in_testing = 3 -{% elif FedoraBranchedBodhi is defined and FedoraBranchedBodhi == 'postbeta' %} -f{{ FedoraBranchedNumber }}.status = post_beta -f{{ FedoraBranchedNumber }}.post_beta.mandatory_days_in_testing = 7 -f{{ FedoraBranchedNumber }}.post_beta.min_karma = 1 -f{{ FedoraBranchedNumber }}.post_beta.critpath.min_karma = 2 -f{{ FedoraBranchedNumber }}.post_beta.critpath.mandatory_days_in_testing = 14 +{% elif FedoraBranchedBodhi is defined and FedoraBranchedBodhi in ('betafreeze', 'postbeta') %} +f{{ FedoraBranchedNumber }}.status = {{ FedoraBranchedBodhi }} +f{{ FedoraBranchedNumber }}.{{ FedoraBranchedBodhi }}.mandatory_days_in_testing = 7 +f{{ FedoraBranchedNumber }}.{{ FedoraBranchedBodhi }}.min_karma = 1 +f{{ FedoraBranchedNumber }}.{{ FedoraBranchedBodhi }}.critpath.min_karma = 2 +f{{ FedoraBranchedNumber }}.{{ FedoraBranchedBodhi }}.critpath.mandatory_days_in_testing = 14 {% endif %} # Rawhide layered containers are shipped through bodhi and rawhide containers not require any day