infra-docs-fpo/modules/release_guide/pages/beta_release.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

88 lines
3.4 KiB
Text

include::_partials/attributes.adoc[]
= Fedora Beta Release
Based on the GO/NOGO meeting if the currnet compose is GO. The following steps need to be taken.
== Wait for branched compose that matches the beta rc
QE will typically request a stable push of all the updates that were in the Beta RC that
was signed off on. After that stable push we need to wait for a branched compose with them.
This ensures that the nightly branched has the same content as the beta we are about to release.
This is to allow us to make sure and tag all the right packages and have a common point.
== Koji changes
[source,subs="attributes+"]
....
$ koji clone-tag --all --latest-only f{branched} f{branched}-Beta
....
== Stage release to mirrors
[source,subs="attributes+"]
....
$ sh scripts/stage-release.sh {branched}_Beta Fedora-{branched}-YYYYMMDD.0 _Beta-1.2 fedora-{branched} 1
....
Please update YYYYMMDD in the above command accordingly.
[NOTE]
====
Make sure to grab the directory size usage numbers which is used to send
an email to [.title-ref]#mirror-admin@lists.fedoraproject.org# list.
====
== Sync the signed checksums to stage
We need to sync the signed checksums to /pub/alt/stage/ by running the
following command
[source,subs="attributes+"]
....
$ for dir in Cloud Container Everything Kinoite Labs Sericea Server Silverblue Spins Workstation metadata; do sudo -u ftpsync rsync -avhH /mnt/koji/compose/{branched}/Fedora-{branched}-20221105.0/compose/$dir/ /pub/alt/stage/{branched}_RC-1.7/$dir/ --link-dest=/pub/fedora/linux/releases/{branched}/Everything/ --link-dest=/pub/alt/stage/{branched}_RC-1.2/Everything/ --link-dest=/pub/alt/stage/{branched}_RC-1.3/Everything --link-dest=/pub/alt/stage/{branched}_RC-1.4/Everything --link-dest=/pub/alt/stage/{branched}_RC-1.5/Everything --link-dest=/pub/alt/stage/{branched}_RC-1.6/Everything --link-dest=/pub/alt/stage/{branched}_RC-1.7/Everything; done
....
[NOTE]
====
Replace the RC above with the RC that was 'go'
====
== Set release in Bodhi to pending
[source,subs="attributes+"]
....
$ bodhi releases edit --name F{branched} --state pending
....
=== Update Ansible vars
Set the infra ansible https://pagure.io/fedora-infra/ansible/blob/main/f/vars/all/FedoraBranchedBodhi.yaml[_FedoraBranchedBodhi_ variable] to `postbeta`
and the https://pagure.io/fedora-infra/ansible/blob/main/f/vars/all/Frozen.yaml[_NextReleaseFrozen_ variable] to `False`.
== Run the playbooks
....
$ sudo rbac-playbook groups/releng-compose.yml
$ sudo rbac-playbook groups/bodhi-backend.yml
$ sudo rbac-playbook openshift-apps/bodhi.yml
$ sudo rbac-playbook groups/koji-hub.yml
....
== Beta Installation and Cleanup
This section outlines the steps that should be followed to ensure that older copies of Fedora betas are removed from the servers and that the correct permissions are set on the directories.
=== Remove older betas
This cleanup step is to remove the older betas from the `/pub/fedora-secondary/releases/test` and `/pub/fedora/linux/releases/test/` directories. This can be done using the rm command:
[source,subs="attributes+"]
....
$ rm -rf /pub/fedora-secondary/releases/test/{branched}_Beta
$ rm -rf /pub/fedora/linux/releases/test/{branched}_Beta
....
Note that {branched} should be replaced with the name of the beta release, such as 36_Beta, 37_Beta, etc.
By following these steps, one can ensure that older copies of Fedora betas are removed from the servers and that the correct permissions are set on the directories.