From 93e124ce80f8b054eab128f27618cb79c8495fa2 Mon Sep 17 00:00:00 2001 From: Tomas Hrcka Date: Wed, 1 Mar 2023 15:57:09 +0100 Subject: [PATCH] [releng] - RC docs updates Signed-off-by: Tomas Hrcka --- modules/release_guide/nav.adoc | 1 + .../release_guide/pages/beta_RC_compose.adoc | 132 ++++++++++++++++++ modules/release_guide/pages/beta_freeze.adoc | 8 +- modules/release_guide/pages/beta_release.adoc | 12 +- .../release_guide/pages/final_RC_compose.adoc | 2 + .../release_guide/pages/final_release.adoc | 38 +++++ 6 files changed, 191 insertions(+), 2 deletions(-) create mode 100644 modules/release_guide/pages/beta_RC_compose.adoc create mode 100644 modules/release_guide/pages/final_RC_compose.adoc diff --git a/modules/release_guide/nav.adoc b/modules/release_guide/nav.adoc index 077256d..efc0714 100644 --- a/modules/release_guide/nav.adoc +++ b/modules/release_guide/nav.adoc @@ -5,6 +5,7 @@ ** xref:sop_mass_branching.adoc[Mass Branching] ** xref:sop_bodhi_activation.adoc[Updates testing activation] ** xref:beta_freeze.adoc[Beta freeze] +** xref:beta_RC_compose.adoc[Beta RC compose] ** xref:beta_release.adoc[Beta release] ** xref:final_freeze.adoc[Final freeze] ** xref:final_release.adoc[Final release] diff --git a/modules/release_guide/pages/beta_RC_compose.adoc b/modules/release_guide/pages/beta_RC_compose.adoc new file mode 100644 index 0000000..e447fcf --- /dev/null +++ b/modules/release_guide/pages/beta_RC_compose.adoc @@ -0,0 +1,132 @@ +== Release candidate + +When Quality Engineering (QE) requests a Release Candidate (RC) they do +so by opening an issue in the releng repository on pagure. Release +candidate composes are not currently automated. + +[cols=",,",options="header",] +|=== +|Compose Name |Configuration File |Compose Script +|Beta |fedora-beta.conf |release-candidate.sh +|GA |fedora-final.conf |release-candidate.sh +|=== + +== Action + +=== Make pungi config changes + +Create fedora-beta.conf on the branched release branch, For inspiration look at https://pagure.io/pungi-fedora/pull-request/1148[This PR] + +=== Review Compose Tags + +. List any pre-existing builds in the current compose tag ++ +.... +$ koji list-tagged f[release_version]-compose +.... +. Verify pre-existing builds are in compose tags ++ +The tagged builds from the previous composes should all be present in +the output from the previous step. Consult the request ticket for the +list of builds expected in this output. ++ +[NOTE] +.Note +==== +The very first run of an Beta, or GA compose should have no builds +listed under the compose tag. It is important to clear pre-existing +builds from the compose tag when moving between the Beta and RC +composes. Verify that these builds were removed. + +.... +$ koji list-tagged f[release_version]-compose +$ koji untag-build --all f[release_version]-compose [build1 build2 ...] +.... +==== ++ +[NOTE] +.Note +==== +The order in which packages are added into the +f[release_version]-compose tag matter. If the builds are untagged +erroneously then special attention should be given to adding them back +correctly. +==== +. Add builds specified by QE to the current compose tag ++ +.... +$ koji tag-build f[release_version]-compose [build1 build2 ...] +.... ++ +[NOTE] +.Note +==== +These steps may be completed on a local machine as long as the user has +appropriate permissions in the koji tool. +==== + +=== Running the Compose + +. Update the pungi-fedora config file Composes use a configuration file +to construct the compose. Each compose uses its own configuration. The +`global_release` variable should start from 1.1 and the second number +should increment each time a new compose is created. +* Beta - `fedora-beta.conf` +* RC - `fedora-final.conf` +. Log into the compose backend ++ +.... +$ ssh compose-x86-01.phx2.fedoraproject.org +.... +. Open a screen session ++ +.... +$ screen +.... +. Obtain the pungi-fedora branch for the current compose ++ +The first time any user account executes a compose the pungi-fedora git +repository must be cloned. The compose candidate script that invokes +pungi should be run from `compose-x86-01.iad2.fedoraproject.org`. ++ +.... +$ git clone ssh://git@pagure.io/pungi-fedora.git +.... ++ +Enter the pungi-fedora directory. ++ +.... +$ cd pungi-fedora +.... ++ +If the clone step above was not required then fully update the existing +repository checkout from pagure. ++ +.... +$ git fetch origin +$ git checkout f[release_version] +$ git pull origin f[release_version] +.... +. Run the compose ++ +.... +$ sudo ./release-candidate.sh [Beta|RC]-#.# +.... ++ +The numbering scheme begins with 1.1 and the second number is +incremented after each compose. ++ +[NOTE] +.Note +==== +Pungi requires numbers in the format #.# as an argument. It is because +of this that composes always start with the number 1 and the second +number is incremented with each compose. +==== ++ +[NOTE] +.Note +==== +If the compose fails with a directory missing error, then create the +compose directory with `mkdir /mnt/koji/compose/[release_version]` +==== diff --git a/modules/release_guide/pages/beta_freeze.adoc b/modules/release_guide/pages/beta_freeze.adoc index 4ad2609..3d5efa3 100644 --- a/modules/release_guide/pages/beta_freeze.adoc +++ b/modules/release_guide/pages/beta_freeze.adoc @@ -1 +1,7 @@ -== Fedora Beta Freeze \ No newline at end of file +== Fedora Beta Freeze + +=== Ansible changes + +=== Update bodhi release + +=== Process stable push requests diff --git a/modules/release_guide/pages/beta_release.adoc b/modules/release_guide/pages/beta_release.adoc index 962e8a1..c0f6490 100644 --- a/modules/release_guide/pages/beta_release.adoc +++ b/modules/release_guide/pages/beta_release.adoc @@ -1 +1,11 @@ -== Fedora Beta Release \ No newline at end of file +== Fedora Beta Release + + +=== Beta release + +==== Koji chnages + +.... +$ koji clone-tag --all --latest-only f31 f31-Beta +$ koji clone-tag --all --latest-only f31-modular f31-Beta-modular +.... \ No newline at end of file diff --git a/modules/release_guide/pages/final_RC_compose.adoc b/modules/release_guide/pages/final_RC_compose.adoc new file mode 100644 index 0000000..c09ce74 --- /dev/null +++ b/modules/release_guide/pages/final_RC_compose.adoc @@ -0,0 +1,2 @@ +== Final Release candidate + diff --git a/modules/release_guide/pages/final_release.adoc b/modules/release_guide/pages/final_release.adoc index 9655a5e..2c70d0b 100644 --- a/modules/release_guide/pages/final_release.adoc +++ b/modules/release_guide/pages/final_release.adoc @@ -3,3 +3,41 @@ === Update FedoraPreviousPrevious.yaml in ansible repository set the variable to False + + +==== Koji changes + +.... +$ koji edit-tag --lock f31 +$ koji edit-tag --lock f31-modular +.... + +==== Bodhi Changes + +Set the bodhi release to `current` + +.... +$ bodhi releases edit --name F31 --state current +.... + +==== Disable Branched Compose + +Now that we have a final GOLD compose, we dont need nightly branched +composes anymore. This is disabled in +https://infrastructure.fedoraproject.org/cgit/ansible.git/tree/roles/releng[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://infrastructure.fedoraproject.org/cgit/ansible.git/tree/vars/all/RelEngFrozen.yaml[RelEngFrozen +variable] in infra ansible repo and then run the bodhi playbook. + +.... +$ sudo rbac-playbook groups/bodhi-backend.yml +.... \ No newline at end of file