issue-templates/Release_Infrastructure: update

* Note that several steps can already be done even if the community repo
  is not published yet in Alpine.
* Adjusting arches in .ci/build-jobs.yaml.j2 is not needed anymore, CI
  scripts read them from pmaports.cfg now.
* Branch protection: we have a v2*.* rule in place now that protects new
  release branches automatically, adjust wording to just double check if
  it still matches and add a link (in 2030 it will not match anymore.)
* channels.cfg: cover case that the aports branch may not exist yet in
  pre-branch phase.
* Use git commit -s in example commands.
* postmarketos-ui-asteroid currently doesn't exist anymore, so we don't
  need to delete it for stable.
* Add the command for regenerating cross packages.
* Remove postmarketos-repo-nightly in stable.
* Bootstrap of binary packages: tweak wording, mention that only the
  main repo needs to be built for x86_64 before arm repos can be
  enabled, we don't need to wait for the x86_64 systemd repo.
* Adjust to QEMU devices not being in main anymore.
* Various syntax fixes and readability improvements.

Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8815>
This commit is contained in:
Oliver Smith 2026-05-19 14:36:39 +02:00 committed by The Friendly Meow (merge) Bot
parent ad05a1b83b
commit b2efdb7f64
No known key found for this signature in database

View file

@ -23,6 +23,8 @@ This phase is to get some extra time for building packages. The branch will be r
- [ ] Alpine's main repository must be built and published - [ ] Alpine's main repository must be built and published
- [ ] Alpine's community repository must be built and published - [ ] Alpine's community repository must be built and published
<small>Without this, bpo won't be able to build packages but steps before
that can be done already.</small>
#### pmbootstrap: adjust config #### pmbootstrap: adjust config
- [ ] Update `pmb/config/__init__.py:apk_tools_min_version`. This should be a - [ ] Update `pmb/config/__init__.py:apk_tools_min_version`. This should be a
@ -36,18 +38,21 @@ This phase is to get some extra time for building packages. The branch will be r
- [ ] `git checkout -b vYY.MM main` - [ ] `git checkout -b vYY.MM main`
- [ ] Create a `=== Branch vYY.MM from main ===` commit - [ ] Create a `=== Branch vYY.MM from main ===` commit
- Remove channels.cfg (should only be in main) - Remove channels.cfg (should only be in main)
- Change `channel=edge` to `channel=vYY.MM` in pmaports.cfg - Adjust `pmaports.cfg`: Change `channel=edge` to `channel=vYY.MM`
- Change `supported_arches` to `x86_64,aarch64,armv7` in pmaports.cfg - Adjust `pmaports.cfg`: Change `supported_arches` to `x86_64,aarch64,armv7`
- Disable x86, armhf, riscv64 in .ci/build-jobs.yaml.j2 on the release branch - Delete `.ci/build-*` scripts for other arches
and delete `.ci/build-*` scripts for these arches <small>`pmbootstrap ci` reads these</small>
- [ ] `git push` - [ ] `git push`
- [ ] '''protect the new release branch in gitlab''', so nobody can force-push to it - [ ] Ensure the branch is protected in the
[repository settings](https://gitlab.postmarketos.org/postmarketOS/pmaports/-/settings/repository)
#### pmaports: update main branch #### pmaports: update main branch
- [ ] `git checkout main` - [ ] `git checkout main`
- [ ] Add the new branch to - [ ] Add the new branch to
[channels.cfg](https://wiki.postmarketos.org/wiki/Channels.cfg_reference), [channels.cfg](https://wiki.postmarketos.org/wiki/Channels.cfg_reference):
[like this](https://gitlab.postmarketos.org/postmarketOS/pmaports/-/commit/c43571ceaf9b8155519bc9fb760bdeccd96e7e9c) - [Example](https://gitlab.postmarketos.org/postmarketOS/pmaports/-/commit/c43571ceaf9b8155519bc9fb760bdeccd96e7e9c)
- Check if you need to set `branch_aports=master` initially if the stable
branch does not exist yet.
- [ ] `git push` - [ ] `git push`
#### pmaports: update os-release / remove packages / aportgen #### pmaports: update os-release / remove packages / aportgen
@ -61,13 +66,15 @@ This phase is to get some extra time for building packages. The branch will be r
- `pmbootstrap config mirrors.pmaports none` - `pmbootstrap config mirrors.pmaports none`
- `pmbootstrap config mirrors.systemd none` - `pmbootstrap config mirrors.systemd none`
- `pmbootstrap checksum postmarketos-base` - `pmbootstrap checksum postmarketos-base`
- `git commit` - `git commit -s` (`Remove packages that we don't have in stable`)
- [ ] Remove packages: - [ ] Remove packages:
- `cross/*-armhf` and other unsupported arches in cross dir (keep `gcc-x86` and `musl-dev-x86`, `systemd-boot-x86`) - `cross/*-armhf` and other unsupported arches in cross dir (keep `gcc-x86` and `musl-dev-x86`, `systemd-boot-x86`)
- `main/postmarketos-ui-asteroid` (no smartwatches are useful on stable branches at the moment)
- `gcc4*` and `gcc6*` from main and cross dirs - `gcc4*` and `gcc6*` from main and cross dirs
- `device/downstream`, `device/archived` - `device/downstream`, `device/archived`
- [ ] Run `pmbootstrap aportgen` for packages in cross - `extra-repos/systemd/postmarketos-repo-nightly`
- [ ] Run `pmbootstrap aportgen` for packages in cross:
- `cd cross; PMB_APK_FORCE_MISSING_REPOSITORIES=1 pmbootstrap aportgen musl-* grub-efi-x86`
- `git commit -s` (`cross: regenerate for vYY.MM`)
- [ ] `git push` - [ ] `git push`
#### bpo: adjust config #### bpo: adjust config
@ -79,17 +86,19 @@ This phase is to get some extra time for building packages. The branch will be r
- [ ] Roll it out/ask somebody who can do that - [ ] Roll it out/ask somebody who can do that
- [ ] Restart bpo, it will start building `x86_64` packages - [ ] Restart bpo, it will start building `x86_64` packages
#### bootstrap of binary packages #### Bootstrap of binary packages
- [ ] Fix failing `x86_64` packages (Remember: patches need to go through edge - [ ] Fix all failing `x86_64` packages (Remember: patches need to go through
first, then get backported to the stable branch!) edge first, then get backported to the stable branch!)
- Try to get build fixes merged to edge quickly, ask for reviews in - Try to get build fixes merged to edge quickly, ask for reviews in
#postmarketos-devel, and consider merging trivial fixes right after they #postmarketos-devel, and consider merging trivial fixes right after they
pass CI. pass CI.
- Devices in testing and archived categories that don't build: consider - Devices in testing and archived categories that don't build: consider
trying to fix them, or just delete them from the branch trying to fix them, or just delete them from the branch
- [ ] Wait until all packages for `x86_64` are built and published - [ ] Wait until all packages for `x86_64` (main repository, we don't need to
- [ ] Fix up ARM packages too wait for the systemd repository before continuing) are built and
- [ ] Wait until all packages for ARM are built and published published
- [ ] Enable arm repositories in the BPO config
- [ ] Get all packages to build without errors
#### Wallpaper poll #### Wallpaper poll
- [ ] Team meeting: make a short list of 4 wallpapers from [the - [ ] Team meeting: make a short list of 4 wallpapers from [the
@ -125,7 +134,7 @@ This phase is to get some extra time for building packages. The branch will be r
- [ ] Adjust CI of postmarketos-release-upgrade to test the new release too - [ ] Adjust CI of postmarketos-release-upgrade to test the new release too
(`git grep` for the previous release to see what needs to be adjusted) (`git grep` for the previous release to see what needs to be adjusted)
### Update the wallpaper #### Update the wallpaper
- [ ] Set the wallpaper that won in the poll in edge, backport this change to - [ ] Set the wallpaper that won in the poll in edge, backport this change to
the stable release branch the stable release branch
@ -140,8 +149,7 @@ This phase is to get some extra time for building packages. The branch will be r
#### Update BPO config #### Update BPO config
- [ ] Update bpo's images config to build images for the new branch for all - [ ] Update bpo's images config to build images for the new branch for all
devices in community and main, except for: devices in community and main
- qemu-*
- [ ] bpo: configure the new branch to be not WIP anymore - [ ] bpo: configure the new branch to be not WIP anymore
- [ ] Roll-out bpo changes - [ ] Roll-out bpo changes
@ -149,6 +157,11 @@ This phase is to get some extra time for building packages. The branch will be r
- [ ] Ensure that a pmbootstrap release been made with the apk-tools min - [ ] Ensure that a pmbootstrap release been made with the apk-tools min
version change version change
#### aports stable branch set?
* [ ] Check if a stable branch exists in `aports` for the new release, and that
it is being used in `channels.cfg` (might still be set to `master` if it
did not exist during the Pre-Branch phase).
### 3. Test phase ### 3. Test phase
- [ ] Create an issue in pmaports with a checklist of devices and UIs in main - [ ] Create an issue in pmaports with a checklist of devices and UIs in main
and community (see previous issue for reference) and community (see previous issue for reference)