infra-docs-fpo/modules/release_guide/pages/final_release.adoc
Samyak Jain 60e69681c0 Update final_release sop with more stuffs and concise manner
Signed-off-by: Samyak Jain <samyak.jn11@gmail.com>
2023-11-03 09:39:41 +00:00

117 lines
4.5 KiB
Text

include::_partials/attributes.adoc[]
= Fedora Final Release
== Update `FedoraPreviousPrevious.yaml` in ansible repository
Set the https://pagure.io/fedora-infra/ansible/blob/main/f/vars/all[variable] to True in ansible repository.
== Koji changes
[source,subs="attributes+"]
....
$ koji edit-tag --lock f{branched}
$ koji edit-tag --lock f{branched}-modular
....
== Bodhi Changes
Set the bodhi release to `current`
[source,subs="attributes+"]
....
$ bodhi releases edit --name F{branched} --state current
....
Set the bodhi stable tag to point to updates instead of base repo
[source,subs="attributes+"]
....
$ bodhi releases edit --name F{branched} --stable-tag f{branched}-updates
....
Set EOL of oldest release to corret date
[source,subs="attributes+"]
....
$ bodhi releases edit --name F{old_release} --eol YYYY-MM-DD
$ bodhi releases edit --name F{old_release}C --eol YYYY-MM-DD
$ bodhi releases edit --name F{old_release}F --eol YYYY-MM-DD
$ bodhi releases edit --name F{old_release}M --eol YYYY-MM-DD
....
== Ansible Changes
=== Disable Branched Compose
Now that we have a final GOLD compose, we dont need nightly branched
composes anymore. This is disabled in
https://pagure.io/fedora-infra/ansible/blob/main/f/roles/releng/files/branched[releng
role] in infra ansible repo and then running the playbook.
....
$ sudo rbac-playbook groups/releng-compose.yml
....
=== Lift RelEng freeze
Lift the RelEng Freeze so that the updates will be pushed to stable.
This is done by editing
https://pagure.io/fedora-infra/ansible/blob/main/f/vars/all/RelEngFrozen.yaml[RelEngFrozen
variable] in infra ansible repo and then run the bodhi playbook.
....
$ sudo rbac-playbook groups/bodhi-backend.yml
....
=== Update Release Versions
In pungi.rpm.conf.j2 we need to check that the release.version_int should be now pointing to {rawhide} for all the artifacts that compose location is going to be under /compose/branched/. For the reference https://pagure.io/fork/jnsamyak/fedora-infra/ansible/c/cf05a84bfd652b264dc74eef29a453a55be565c1[pungi.rpm.conf.j2] check.
=== Update releng roles updates
. https://pagure.io/fedora-infra/ansible/blob/main/f/roles/releng/files/cloud-updates[cloud-updates]: Remove the commented version and append a new entry for {branched}.
. https://pagure.io/fedora-infra/ansible/blob/main/f/roles/releng/files/container-updates[container-updates]: Remove the commented version and append a new entry for {branched}.
. Update https://pagure.io/fedora-infra/ansible/blob/main/f/vars/all/00-FedoraCycleNumber.yaml[FedoraCycleNumber] to {branched}.
. Update https://pagure.io/fedora-infra/ansible/blob/main/f/vars/all/FedoraBranchedBodhi.yaml[FedoraBranchedBodhi] to current.
. Set https://pagure.io/fedora-infra/ansible/blob/main/f/vars/all/FedoraPreviousPrevious.yaml[FedoraPreviousPrevious] to True.
For the references, checkout this https://pagure.io/fork/jnsamyak/fedora-infra/ansible/c/6d1267970e09f412f1f51a2c203ae64e29e2c4c3[PR].
== Stage Final Release for Mirrors
To prepare for running the staging script, make sure you have the following information:
. Release Version: This is the numerical version number of the release, for example, {branched}.
. ComposeID: The ID associated with the Compose, such as "Fedora-{branched}-20160614.0".
. Label: The label used for the location in stage, for example, "Compsoe label for the location in stage 39_RC-1.2."
. Key: The name of the release key, which can be "fedora-{branched}" or "fedora-{branched}-secondary," as examples.
. Prerelease: Set this to 0 or 1 to determine if the release should be placed in a testing environment or not.
. Arch (Optional): For secondary architectures, this parameter can be used to make changes to some internal locations.
+
[source,subs="attributes+"]
....
$ scripts/stage-release.sh {branched} Fedora-{branched}-20160614.0 {branched}_RC-1.2 fedora-{branched} 0
....
. Sync the release to the Red Hat internal archive following internally
documented
[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.
====
== Check and set EOL on previous releases to reflect reality
. check PDC for active releases and respective EOL date
. if needed run the adjust-eol-all.py script from releng repository to
correct any mistakes
== Verification
Verification is somewhat difficult as one cannot look at the content via
the web server due to permissions. Typically we ask somebody from the
Infrastructure team to give the tree a second set of eyes.