From 65b13f371e0fc1529e72ac4d9c28696369db6fb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Ravier?= Date: Wed, 9 Aug 2023 19:11:46 +0200 Subject: [PATCH] sop_mass_branching: Improve formatting --- .../pages/sop_mass_branching.adoc | 263 ++++++++++-------- 1 file changed, 140 insertions(+), 123 deletions(-) diff --git a/modules/release_guide/pages/sop_mass_branching.adoc b/modules/release_guide/pages/sop_mass_branching.adoc index c2dc77c..f5bdb21 100644 --- a/modules/release_guide/pages/sop_mass_branching.adoc +++ b/modules/release_guide/pages/sop_mass_branching.adoc @@ -21,16 +21,16 @@ We need to configure outage in koji. Look at https://pagure.io/fedora-infra/ansi List all running tasks and select onle those relevant for current branching. -[attributes] -`` +[source,bash,subs="attributes"] +---- $ koji list-builds --state=0 --type=rpm | grep fc{branched} | awk '{print $1}' -`` +---- Cancel each of those tasks -`` +``` $ koji cancel -`` +``` == Repos to branch @@ -38,14 +38,13 @@ All the following listed repos needs updating, including adding a new branch for branched release and updating rawhide branch with new release values. -[arabic] -. https://pagure.io/pungi-fedora -. https://pagure.io/fedora-kickstarts -. https://pagure.io/fedora-comps -. https://pagure.io/fedora-lorax-templates/ -. https://pagure.io/workstation-ostree-config/ -. https://src.fedoraproject.org/rpms/fedora-release -. https://src.fedoraproject.org/rpms/fedora-repos +* https://pagure.io/pungi-fedora +* https://pagure.io/fedora-kickstarts +* https://pagure.io/fedora-comps +* https://pagure.io/fedora-lorax-templates/ +* https://pagure.io/workstation-ostree-config/ +* https://src.fedoraproject.org/rpms/fedora-release +* https://src.fedoraproject.org/rpms/fedora-repos == PDC @@ -53,33 +52,27 @@ The "product-release" needs to be created in PDC. In the `scripts/pdc/` directory, run: -`` +``` $ python create-product-release.py fedora $TOKEN Fedora $NEW_VERSION -`` +``` On `pdc-backend01.stg` (for testing) or `pdc-backend01` (for production) clone (or update an existing one) the releng repo: -`` +``` $ git clone https://pagure.io/releng.git -`` +``` In the `scripts/pdc/` directory, run (see the `--help` of the script for information on how to run it): -`` +``` $ python create-new-release-branches.py ... --createfile -`` +``` + +NOTE: The `--createfile` argument is necessary, that file is needed for the next step. [NOTE] -.Note -==== -the `--createfile` argument is necessary, that file is needed for the -next step. -==== - -[NOTE] -.Note ==== Due to memory leak issue in pdc, we need to set the config in /etc/pdc.d/fedora.json \{ "fedora": \{ "host": @@ -101,9 +94,9 @@ For both of these actions you will need the file generated by pdc above. On `pkgs01.stg` (for testing) or `pkgs02` (for production), run: -`` +``` $ sudo -u pagure python /usr/local/bin/mass-branching-git.py -`` +``` Where `` will be like `f{rawhide}` and the `` the path to the file generated by pdc above. @@ -168,14 +161,14 @@ Please check the file `roles/robosignatory/templates/robosignatory.toml.j2` from When done editing the files, commit, push and apply them via the corresponding ansible playbook: -`` -$ sudo rbac-playbook groups/koji-hub.yml + -$ sudo rbac-playbook groups/releng-compose.yml + -$ sudo rbac-playbook groups/bodhi-backend.yml + -$ sudo rbac-playbook openshift-apps/greenwave.yml + -$ sudo -i ansible-playbook /srv/web/infra/ansible/playbooks/$ groups/proxies.yml -t pkgdb2 + -$ sudo rbac-playbook groups/mbs.yml -t mbs + -`` +``` +$ sudo rbac-playbook groups/koji-hub.yml +$ sudo rbac-playbook groups/releng-compose.yml +$ sudo rbac-playbook groups/bodhi-backend.yml +$ sudo rbac-playbook openshift-apps/greenwave.yml +$ sudo -i ansible-playbook /srv/web/infra/ansible/playbooks/$ groups/proxies.yml -t pkgdb2 +$ sudo rbac-playbook groups/mbs.yml -t mbs +``` Ask someone in fedora infra to run the robosignatory playbook. @@ -193,59 +186,71 @@ script in https://pagure.io/releng[pagure releng] repo The `fedora-release` package needs to be updated in Rawhide and Branched. -Changes to `fedora-release.spec` in the *rawhide* branch: +Changes to `fedora-release.spec` in the *rawhide* branch: (can also check this https://src.fedoraproject.org/rpms/fedora-release/c/841f1fb8e5f7ff2b11a5e0905f15e765da405edd?branch=rawhide[commit] for reference) [arabic] . Increment `%define dist_version` to {rawhide}: + -`` +[source,subs="attributes"] +---- %define dist_version {rawhide} -`` +---- + . Increment `Version:` and reset `Release:`: + -`` -Version: {rawhide} + -Release: 0.1%{?eln:.eln%{eln}} + -`` +[source,subs="attributes"] +---- +Version: {rawhide} +Release: 0.1%{?eln:.eln%{eln}} +---- + . Add a `%changelog` entry: + -`` +[source,subs="attributes"] +---- %changelog -* Day Mon DD YYYY Name - {rawhide}-0.1 + -- Setup for rawhide being F{rawhide} + -`` +* Day Mon DD YYYY Name - {rawhide}-0.1 +- Setup for rawhide being F{rawhide} +---- -Changes to `fedora-release.spec` in the *branched* (currently {branched}) branch: +Changes to `fedora-release.spec` in the *branched* (currently {branched}) branch: (can also check this https://src.fedoraproject.org/rpms/fedora-release/c/a2c289b44335eec89efaddee02d807b048edd51f?branch=f37[commit] for reference) [arabic] . Adjust `release_name` and unset `is_rawhide`: + -`` -%define release_name {branched_name} + -%define is_rawhide 0 + -`` +[source,subs="attributes"] +---- +%define release_name {branched_name} +%define is_rawhide 0 +---- + . Verify the correct number for `dist_version` and `Version:`: + -`` -%define dist_version {branched} + -Version: {branched} + -`` +[source,subs="attributes"] +---- +%define dist_version {branched} +Version: {branched} +---- + . Bump `Release:`: + -`` +[source,subs="attributes"] +---- Release: 0.4%{?eln:.eln%{eln}} -`` +---- + . Add a `%changelog` entry: + -`` +[source,subs="attributes"] +---- %changelog -* Day Mon DD YYYY Name - {branched}-0.4 + -- Branching F{branched} from rawhide + -`` +* Day Mon DD YYYY Name - {branched}-0.4 +- Branching F{branched} from rawhide +---- == Fedora Repos @@ -261,33 +266,41 @@ Changes to the *rawhide* branch (mostly in `fedora-repos.spec`): . Generate and add a _Rawhide+1_ which is {rawhide_next} GPG key file, then add it to the spec file: + -`` +[source,subs="attributes"] +---- Source57: RPM-GPG-KEY-fedora-{rawhide_next}-primary -`` +---- + . Update the `archmap` file and define architectures for _Rawhide+1_: + -`` +[source,subs="attributes"] +---- fedora-{rawhide+1}-primary: x86_64 armhfp aarch64 ppc64le s390x -`` +---- + . Increment `%global rawhide_release`: + -`` +[source,subs="attributes"] +---- %global rawhide_release {rawhide} -`` +---- + . Bump `Version:` and reset `Release:`: + -`` -Version: {rawhide} + -Release: 0.1%{?eln:.eln%{eln}} + -`` +[source,subs="attributes"] +---- +Version: {rawhide} +Release: 0.1%{?eln:.eln%{eln}} +---- . Add a `%changelog` entry: + -`` +[source,subs="attributes"] +---- %changelog -* Day Mon DD YYYY Name - {rawhide}-0.1 + -- Setup for rawhide being F{rawhide} + -`` +* Day Mon DD YYYY Name - {rawhide}-0.1 +- Setup for rawhide being F{rawhide} +---- Changes to the *branched* branch (mostly in `fedora-repos.spec`): @@ -297,38 +310,43 @@ Changes to the *branched* branch (mostly in `fedora-repos.spec`): . Copy the _Rawhide+1_ which is {rawhide_next} GPG key file from the _rawhide_ branch, then add it to the spec file: + -`` +[source,subs="attributes"] +---- Source57: RPM-GPG-KEY-fedora-{rawhide_next}-primary -`` +---- + . Copy the `archmap` file from the _rawhide_ branch. . Update `%global rawhide_release`: + -[attributes] -`` +[source,subs="attributes"] +---- %global rawhide_release {rawhide} -`` +---- -. Enable `updates_testing_enabled`: +. Enable `updates_testing_enabled`: + -`` +[source,subs="attributes"] +---- %global updates_testing_enabled 1 -`` +---- + . Bump `Release`: + -`` +[source,subs="attributes"] +---- Release: 0.3%{?eln:.eln%{eln}} + -`` +---- . Add a `%changelog` entry: + -`` +[source,subs="attributes"] +---- %changelog *Day Mon DD YYYY Name - {branched}-0.3 + - Update Rawhide definition, enable updates-testing for Branched + -`` +---- [NOTE] -.Note ==== Build `fedora-release` and `fedora-repos` packages for Branched release *before enabling the Rawhide gating*. @@ -340,33 +358,34 @@ Changes to the *stable* branches (mostly in `fedora-repos.spec`): . Copy the _Rawhide+1_ GPG key which is {rawhide_next} file from the _rawhide_ branch, then add it to the spec file: + -[attributes] -`` +[source,subs="attributes"] +---- Source57: RPM-GPG-KEY-fedora-{rawhide_next}-primary -`` -+ +---- + . Copy the `archmap` file from the _rawhide_ branch. . Update `%global rawhide_release`: + -[attributes] -`` +[source,subs="attributes"] +---- %global rawhide_release {rawhide} -`` +---- . Bump `Release:`: + -[attributes] -`` +[source,subs="attributes"] +---- Release: 0.3%{?eln:.eln%{eln}} -`` +---- + . Add a `%changelog` entry: + -[attributes] -`` +[source,subs="attributes"] +---- %changelog -*Day Mon DD YYYY Name - {current}-0.3 + -- Update Rawhide definition + -`` +*Day Mon DD YYYY Name - {current}-0.3 +- Update Rawhide definition +---- == Bodhi @@ -377,11 +396,11 @@ missing repos. The following commands should be run on *bodhi-backend01.phx2.fedoraproject.org* -[attributes] -`` +[source,bash,subs="attributes"] +---- $ sudo ln -s /mnt/koji/compose/updates/empty-repo/ /mnt/koji/compose/updates/f{branched}-updates $ sudo ln -s /mnt/koji/compose/updates/empty-repo/ /mnt/koji/compose/updates/f{branched}-updates-testing -`` +---- === Creating Empty Repos @@ -390,13 +409,12 @@ https://pagure.io/releng/blob/main/f/scripts/branching/create_empty_repos.sh[cre from https://pagure.io/releng[pagure releng] repo. This should be run on *bodhi-backend01.phx2.fedoraproject.org* -[attributes] -`` +[source,bash,subs="attributes"] +---- $ sudo -u ftpsync sh scripts/branching/create_empty_repos.sh {branched} -`` +---- [NOTE] -.Note ==== Please verify the repo permissions that are created under /pub/fedora/linux/development/ and @@ -440,7 +458,6 @@ $ sudo systemctl restart fm-consumer@config.service bodhi-celery.service `` [NOTE] -.Note ==== Build fedora-release, fedora-repos package for *rawhide after enabling the rawhide gating* @@ -452,14 +469,14 @@ We need to point the _rawhide_ buildroot repo to the newly created rawhide buildroot. This way kojira doesn't make a newrepo for _rawhide_ target as often as fxx-build (new rawhide buildroot). -Run the following command from any of the compose boxes: - - -`` - $ cd /mnt/koji/repos/rawhide; rm -f latest; ln -s ../f{rawhide}-build/latest - ./latest -`` +Run the following commands from any of the compose boxes: +[source,bash,subs="attributes"] +---- +$ cd /mnt/koji/repos/rawhide +$ rm -f latest +$ ln -s ../f{rawhide}-build/latest ./latest +---- === Update block_retired.py script @@ -513,7 +530,8 @@ https://koji.fedoraproject.org/koji/packageinfo?packageID=21546[here]. On `compose-x86-01.phx2` run: -.... +[source,bash,subs="attributes"] +---- # Update this to be the correct URL for your image $ BASEIMAGE_URL="https://kojipkgs.fedoraproject.org//packages/Fedora-Docker-Base/Rawhide/20170310.n.0/images/Fedora-Docker-Base-Rawhide-20170310.n.0.x86_64.tar.xz" @@ -541,7 +559,7 @@ $ sudo docker push registry.fedoraproject.org/fedora:${RAWHIDE} $ sudo docker rmi fedora-docker-base-rawhide-20170310.n.0.x86_64 Untagged: fedora-docker-base-rawhide-20170310.n.0.x86_64:latest $ for i in $(sudo docker images -q -f 'dangling=true'); do sudo docker rmi $i; done -.... +---- === Update sync script @@ -559,7 +577,6 @@ Use https://pagure.io/fedora-infra/ansible/pull-request/1527[this PR] for refere = Consider Before Running [NOTE] -.Note ==== FIXME: Need some love here ====