infra-docs-fpo/modules/release_guide/pages/beta_freeze.adoc
Adam Williamson 9c3c11965a Updates and cleanups for release process docs
This started out as a small change to drop references to
RelEngFrozen and clean up references to Frozen, but it got...
bigger.

We drop the sop_bodhi_activation page entirely (it is redundant
with the beta_freeze page, but worse).

We change the variable updated at freeze and release points to
always be `NextReleaseFrozen`, which is introduced in
https://pagure.io/fedora-infra/ansible/pull-request/2481 and
meant to have the same meaning as `RelEngFrozen` but be more
accurately named (as it's only one release that freezes, not all
of releng).

We extend the Fedora Release Infrastructure SOP page to document
starting and ending the infra freeze, and updating the
appropriate ansible variable.

beta_freeze page changes:

* General style/grammar cleanups
* s/Bodhi activation point/updates-testing activation point/g
* Clarify that freeze and u-t activation are distinct events
* Drop an obsolete warning and steps related to a now-fixed Bodhi bug
* Clarify and standardize ansible variable changes
* Correct the list of playbooks to be run (koji-hub is needed as
  it depends on `Frozen`, the removed ones are not needed)
* Move the body of the email announcement into the SOP so the
  release number can be templated (this is now consistent with
  final_freeze)
* Simplify stable push instructions
* Drop fedora-beta.conf creation - duplicated with beta_RC_compose
* Drop incorrect text from Consider Before Running section

beta_release page changes:

* General style/grammar	cleanups
* Clarify and standardize ansible variable changes
* Correct playbooks (add koji-hub), move to logical place in order

final_freeze page changes:

* Clarify and standardize ansible variable changes
* Fix empty 'Process stable push requests' section

final_release page changes:

* Clarify and standardize ansible variable changes
* Drop pungi.rpm.conf.j2 changes - depends on:
  https://pagure.io/fedora-infra/ansible/pull-request/2471
* Add multiple missing playbook executions
* Update the reference PR to F41

sop_mass_branching changes:

* Correct the list of playbooks to be run - both Bodhi playbooks
  are needed, MBS is gone, and there's a stray $ sign in one

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-02-18 11:01:53 -08:00

135 lines
4.6 KiB
Text

include::_partials/attributes.adoc[]
= Beta freeze and updates-testing activation point
== Description
This SOP covers two distinct events that happen at the same time. Two weeks after
https://docs.pagure.org/releng/sop_mass_branching.html[Mass Branching], at 14:00 UTC, the Beta freeze is imposed,
and use of updates-testing is enabled for the new release.
== Action
=== Making koji changes
Make the following koji tag changes
[source,subs="attributes+"]
....
$ koji remove-tag-inheritance f{branched}-updates-candidate f{branched}
$ koji remove-tag-inheritance f{branched}-updates-testing f{branched}
$ koji remove-tag-inheritance f{branched}-updates-pending f{branched}
$ koji remove-tag-inheritance f{branched}-override f{branched}
$ koji add-tag-inheritance f{branched}-updates-candidate f{branched}-updates
$ koji add-tag-inheritance f{branched}-updates-testing f{branched}-updates
$ koji add-tag-inheritance f{branched}-updates-pending f{branched}-updates
$ koji add-tag-inheritance f{branched}-override f{branched}-updates
$ koji edit-tag --perm=admin f{branched}
....
=== Bodhi configuration
Configure Bodhi to create composes, not to automatically create updates, and to be frozen.
[source,subs="attributes+"]
....
$ bodhi releases edit --name "F{branched}" --stable-tag f{branched} --testing-repository updates-testing --package-manager dnf --no-create-automatic-updates --composed-by-bodhi --state frozen
....
[NOTE]
====
Add the container and flatpak releases if they weren't already added to
bodhi
====
=== Update Ansible vars
Set the infra ansible https://pagure.io/fedora-infra/ansible/blob/main/f/vars/all/FedoraBranchedBodhi.yaml[_FedoraBranchedBodhi_ variable] to `prebeta`
and the https://pagure.io/fedora-infra/ansible/blob/main/f/vars/all/Frozen.yaml[_NextReleaseFrozen_ variable] to `True`.
=== Run the playbooks
....
$ rbac-playbook openshift-apps/bodhi.yml
$ rbac-playbook groups/bodhi-backend.yml
$ rbac-playbook groups/koji-hub.yml
....
=== Send Announcement
Email *devel-announce* and *test-announce* lists about Beta freeze and updates-testing activation.
[source,subs="attributes+"]
....
Hi all,
Today's an important day on the Fedora Linux {branched} schedule [1], with
several significant cut-offs. First of all, today is the Bodhi
updates-testing activation point [2]. That means that from now all
Fedora Linux {branched} packages must be submitted to updates-testing and pass
the relevant requirements [3] before they will be marked as 'stable' and
moved to the Fedora Repository.
Today is also the Beta freeze [4]. This means that only packages which
fix accepted blocker or freeze exception bugs [5][6] will be marked as
'stable' and included in the Beta composes. Other builds will remain in
updates-testing until the Beta release is approved, at which point the
Beta freeze is lifted and packages can move to 'stable' as usual until
the Final freeze.
Today is also the Software String freeze [7], which means that strings
marked for translation in Fedora-translated projects should not now be
changed for Fedora Linux {branched}.
Finally, today is the 'completion deadline' Change Checkpoint [8],
meaning that Fedora Linux {branched} Changes must now be 'feature complete or
close enough to completion that a majority of its functionality can be
tested'. All tracking bugs should be on ON_QA state or later to reflect
this.
Regards,
Fedora Release Engineering
[1] https://fedorapeople.org/groups/schedule/f-{branched}/f-{branched}-key-tasks.html
[2] https://fedoraproject.org/wiki/Updates_Policy#Bodhi_enabling
[3] https://fedoraproject.org/wiki/Updates_Policy#Branched_release
[4] https://fedoraproject.org/wiki/Milestone_freezes
[5] https://fedoraproject.org/wiki/QA:SOP_blocker_bug_process
[6] https://fedoraproject.org/wiki/QA:SOP_freeze_exception_bug_process
[7] https://fedoraproject.org/wiki/ReleaseEngineering/StringFreezePolicy
[8] https://fedoraproject.org/wiki/Changes/Policy
....
=== Verification
Compare koji tagging structure with older release
[source,subs="attributes+"]
....
$ koji list-tag-inheritance {branched} --reverse
$ koji list-tag-inheritance {current} --reverse
....
Compare the bodhi release with older release
[source,subs="attributes+"]
....
$ bodhi releases info {branched}
$ bodhi releases info {current}
....
Check for other variants like container and flatpaks.
== During the Beta freeze
=== Process stable push requests
During freezes we need to push updates that fix blocker and freeze exception
issues to stable when requested.
QA will file a ticket with the updates to push, which will include the
appropriate command(s). Verify the command(s) and run them.
== Consider Before Running
FIXME