diff --git a/modules/release_guide/pages/beta_RC_compose.adoc b/modules/release_guide/pages/beta_RC_compose.adoc index d6f33d6..147d2c9 100644 --- a/modules/release_guide/pages/beta_RC_compose.adoc +++ b/modules/release_guide/pages/beta_RC_compose.adoc @@ -15,13 +15,14 @@ candidate composes are not currently automated. == Action -=== Make pungi config changes +=== Create the fedora-beta.conf configuration file using the script +The script can be found https://pagure.io/pungi-fedora/blob/main/f/create-candidate-configs.py[here]. -Create fedora-beta.conf on the branched release branch, For inspiration look at https://pagure.io/pungi-fedora/pull-request/1148[This PR] +There is a mandatory argument to specify the milestone to generate (beta or final) +and optional arguments for the major and minor versions for the label. -make sure to set runroot_tag in general.conf to current branched -make sure all ostree releases have config_branch set to the branched release -use grep to find any references to rawhide. +Example usage: +`./create-candidate-configs.py --minor=5 beta` === Review Compose Tags @@ -31,7 +32,7 @@ use grep to find any references to rawhide. .... $ koji list-tagged f{branched}-compose .... -. Verify pre-existing builds are in compose tags +. Verify preexisting 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 @@ -39,8 +40,8 @@ list of builds expected in this output. + [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 +The very first run of a Beta or GA compose should have no builds +listed under the compose tag. It is important to clear preexisting builds from the compose tag when moving between the Beta and RC composes. Verify that these builds were removed. @@ -73,9 +74,9 @@ 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 +. 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` @@ -117,7 +118,7 @@ $ git pull origin f{branched} . Run the compose + .... -$ sudo ./release-candidate.sh Beta-#.# +$ sudo ./release-candidate.sh 41_Beta-#.# .... + The numbering scheme begins with 1.1 and the second number is @@ -125,8 +126,8 @@ incremented after each compose. + [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 +Pungi requires numbers in the format `major.minor` as an argument (e.g. `1.4`). +It is because of this that composes always start with the number 1 and the second number is incremented with each compose. ==== + @@ -136,79 +137,6 @@ If the compose fails with a directory missing error, then create the compose directory with `mkdir /mnt/koji/compose/{branched}` ==== -=== Syncing the Compose - -We sync the compose to `/pub/alt/stage` to enable faster access to new -content for QA and the larger Fedora community. - -. Log into the compose backend -+ -.... -$ ssh compose-x86-01.iad2.fedoraproject.org -.... -. Open a screen session -+ -.... -$ screen -.... -. Check the status of the compose -+ -[source,subs="attributes+"] -.... -$ cat /mnt/koji/compose/{branched}/[compose_id]/STATUS -.... -+ -Do not continue with any further steps if the output above is `DOOMED`. -. Create the directory targeted for the copy : -+ -[source,subs="attributes+"] -.... -$ sudo -u ftpsync mkdir -m 750 -p /pub/alt/stage/{branched}_[release_label]-[#.#] -.... -. Locate the compose directory that will be the copy source : -+ -[source,subs="attributes+"] -.... -$ ls /mnt/koji/compose/{branched}/[compose_id] -.... -+ -[NOTE] -==== -Take care executing the synchronization if the next compose is already -running. Be sure to grab the correct directory. - -If in doubt, check -/mnt/koji/compose/{branched}/[compose_id]/STATUS to be sure it is -finished. -==== - -. Run the synchronization one-liner -+ -The synchronization of the completed compose to the public domain is -currently a one-liner shell script. Pay close attention to what needs -replaced in the example below. -+ -[source,subs="attributes+"] -.... -$ sudo -u ftpsync sh -c 'for dir in Everything Cloud Container Kinoite Labs Modular Server Silverblue Spins Workstation metadata; do rsync -avhH /mnt/koji/compose/{branched}/Fedora-{branched}-20190911.0/compose/$dir/ /pub/alt/stage/{branched}_Beta-1.1/$dir/ --link-dest=/pub/fedora/linux/development/{branched}/Everything/ --link-dest=/pub/alt/stage/{branched}_Beta-1.1/Everything/; done' -.... -+ -[NOTE] -==== -If multiple composes are run like 1.2, 1.3, add multiple --link-dest -arguments above with multiple composes -==== -. Set the permissions of the synced compose : -+ -[source,subs="attributes+"] -.... -$ sudo -u ftpsync chmod 755 /pub/alt/stage/{branched}_[release_label]-[#.#] -.... -. Update the issue in the releng pagure repository -+ -Once the compose and sync is complete the issue in pagure should be -updated and closed. - === Verification The method for verifying a compose has completed is checking diff --git a/modules/release_guide/pages/final_RC_compose.adoc b/modules/release_guide/pages/final_RC_compose.adoc index c19f238..58f030e 100644 --- a/modules/release_guide/pages/final_RC_compose.adoc +++ b/modules/release_guide/pages/final_RC_compose.adoc @@ -14,14 +14,15 @@ candidate composes are not currently automated. == Action -=== Make pungi config changes +=== Create the fedora-final.conf configuration file using the script -Create fedora-final.conf on the branched release branch, For inspiration look at https://pagure.io/pungi-fedora/pull-request/1148[This PR] +The script can be found https://pagure.io/pungi-fedora/blob/main/f/create-candidate-configs.py[here]. -make sure to set runroot_tag in general.conf to current branched -make sure all ostree releases have config_branch set to the branched release -make sure that if new artifacts are introduced in the release, they are part of the final config. -use grep to find any references to rawhide. +There is a mandatory argument to specify the milestone to generate (beta or final) +and optional arguments for the major and minor versions for the label. + +Example usage: +`./create-candidate-configs.py --minor=5 final` === Review Compose Tags @@ -31,7 +32,7 @@ use grep to find any references to rawhide. .... $ koji list-tagged f{branched}-compose .... -. Verify pre-existing builds are in compose tags +. Verify preexisting 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 @@ -39,8 +40,8 @@ list of builds expected in this output. + [NOTE] ==== -The very first run of an GA compose should have no builds -listed under the compose tag. It is important to clear pre-existing +The very first run of a GA compose should have no builds +listed under the compose tag. It is important to clear preexisting builds from the compose tag when moving between the Beta and RC composes. Verify that these builds were removed. @@ -73,9 +74,9 @@ 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 +. 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. * GA - `fedora-final.conf` @@ -117,7 +118,7 @@ $ git pull origin f{branched} . Run the compose + .... -$ sudo ./release-candidate.sh RC-#.# +$ sudo ./release-candidate.sh 41_RC-#.# .... + The numbering scheme begins with 1.1 and the second number is @@ -125,8 +126,8 @@ incremented after each compose. + [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 +Pungi requires numbers in the format `major.minor` as an argument (e.g. `1.4`). +It is because of this that composes always start with the number 1 and the second number is incremented with each compose. ==== + @@ -136,79 +137,6 @@ If the compose fails with a directory missing error, then create the compose directory with `mkdir /mnt/koji/compose/{branched}` ==== -=== Syncing the Compose - -We sync the compose to `/pub/alt/stage` to enable faster access to new -content for QA and the larger Fedora community. - -. Log into the compose backend -+ -.... -$ ssh compose-x86-01.iad2.fedoraproject.org -.... -. Open a screen session -+ -.... -$ screen -.... -. Check the status of the compose -+ -[source,subs="attributes+"] -.... -$ cat /mnt/koji/compose/{branched}/[compose_id]/STATUS -.... -+ -Do not continue with any further steps if the output above is `DOOMED`. -. Create the directory targeted for the copy : -+ -[source,subs="attributes+"] -.... -$ sudo -u ftpsync mkdir -m 750 -p /pub/alt/stage/{branched}_RC-[#.#] -.... -. Locate the compose directory that will be the copy source : -+ -[source,subs="attributes+"] -.... -$ ls /mnt/koji/compose/{branched}/[compose_id] -.... -+ -[NOTE] -==== -Take care executing the synchronization if the next compose is already -running. Be sure to grab the correct directory. - -If in doubt, check -/mnt/koji/compose/{branched}/[compose_id]/STATUS to be sure it is -finished. -==== - -. Run the synchronization one-liner -+ -The synchronization of the completed compose to the public domain is -currently a one-liner shell script. Pay close attention to what needs -replaced in the example below. -+ -[source,subs="attributes+"] -.... -$ sudo -u ftpsync sh -c 'for dir in Everything Cloud Container Kinoite Labs Modular Server Silverblue Spins Workstation metadata; do rsync -avhH /mnt/koji/compose/{branched}/Fedora-{branched}-20190911.0/compose/$dir/ /pub/alt/stage/{branched}_RC-1.1/$dir/ --link-dest=/pub/fedora/linux/development/{branched}/Everything/ --link-dest=/pub/alt/stage/{branched}_RC-1.1/Everything/; done' -.... -+ -[NOTE] -==== -If multiple composes are run like 1.2, 1.3, add multiple --link-dest -arguments above with multiple composes -==== -. Set the permissions of the synced compose : -+ -[source,subs="attributes+"] -.... -$ sudo -u ftpsync chmod 755 /pub/alt/stage/{branched}_RC-[#.#] -.... -. Update the issue in the releng pagure repository -+ -Once the compose and sync is complete the issue in pagure should be -updated and closed. - === Verification The method for verifying a compose has completed is checking