// Merge things from google document to finalize the checklist
== Description
At each alpha freeze, a mass branching process is conducted to separate the pending release from `devel/` branch. This allows Rawhide to continue while the pending release undergoes bugfix and polish activities.
== Action
=== T-1 Day actions for mass branching
==== Send Announcement
* [ ] One day prior to mass branching, send out an announcement notifying the community about the upcoming mass branching. Mention that new Koji builds for Rawhide will be disabled during the process.
==== Signing keys for rawhide+1
Action: add a separate SOP for the same
==== Repos to Branch
* [ ] Update the following repositories we need to prepare before the mass branching occurs: (Two Branches needs to be upserted (rawhide needs update, and the branched branch needs to be created)
* [ ] Ask CoreOS team to seed the N paths for the updates-archive yum repo by running the https://pagure.io/releng/archive-repo-manager/blob/main/f/README.md?text=True#_163[steps here]. This is so tests won't start failing after branching.
* [ ] Change all the rawhide references to point to fN version (grep for rawhide and replace it with the branched version)
==== Fedora Release
===== Rawhide Branch
* [ ] Need to update the dist_version and Version in the spec file, with a changelog entry
===== Branched (FN) Branch
* [ ] Need to update the release_name from rawhide to branched and is_rawhide should be 0
==== Fedora Repos
===== Rawhide Branch
* [ ] Need to update the dist_version and Version in the spec file, with a changelog entry
* [ ] Check for the presence of rawhide+1 key in the files, if not present add the key to it. for [example](https://src.fedoraproject.org/rpms/fedora-repos/c/53f6d1a7bd0b89ad7bccd95e8b4d52b5774e7420?branch=main).
===== Branched (FN) Branch
* [ ] In the branch, update the definition of rawhide_release, and create a changelog entry for [example](https://src.fedoraproject.org/rpms/fedora-repos/c/724c961a79f52abc7d450b1c33ccebed09de6099?branch=f39).
==== Ansible
===== Bodhi
* [ ] Update the Bodhi2 role in the infra ansible repository. This includes updating `koji-sync-listener.py`, `new-updates-sync`, Pungi configs for RPM updates, and Bodhi templates.
===== Enable Branched Compose
* [ ] Enable the branched compose in the releng role of the infra ansible repository.
===== Fedora Branched
* [ ] Set `FedoraBranched` and `FedoraBranchedBodhi` variables to appropriate values in the infra ansible repository.
===== Koji Hub
* [ ] Update the Koji hub configuration to allow side tags for the new Rawhide tag.
===== Robosignatory
* [ ] Update the Robosignatory role in the infra ansible repository. Disable branched signing and add the new release.
* [ ] Always check if there is a new artifact that got introduced in the release cycle, if so then we need to handle it more properly with robosignatory and include it in relevant files. (confirm this more with seniors)
===== Fedora Release
* [ ] Update the `fedora-release` package in Rawhide and the Branched release, including necessary changes to `fedora-release.spec`.
* [ ] Add the new version to the toddlers App configuration, referring to the provided PR for guidance. (For instance: check this: https://pagure.io/fork/humaton/fedora-infra/ansible/c/36b9cb2097fcfc30024f2982d9396cd9e0da7233)