sop_mass_branching: Improve formatting

This commit is contained in:
Timothée Ravier 2023-08-09 19:11:46 +02:00
parent d66e918e3e
commit 65b13f371e

View file

@ -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 <build>
``
```
== 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 <new branch name> <input file>
``
```
Where `<new branch name>` will be like `f{rawhide}` and the
`<input file>` 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 <Email> - {rawhide}-0.1 +
- Setup for rawhide being F{rawhide} +
``
* Day Mon DD YYYY Name <Email> - {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 <Email> - {branched}-0.4 +
- Branching F{branched} from rawhide +
``
* Day Mon DD YYYY Name <Email> - {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 <Email> - {rawhide}-0.1 +
- Setup for rawhide being F{rawhide} +
``
* Day Mon DD YYYY Name <Email> - {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 <Email> - {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 <Email> - {current}-0.3 +
- Update Rawhide definition +
``
*Day Mon DD YYYY Name <Email> - {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/<fedora_release_number> 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
====