Reminder that Katello branch day for the 4.0 release is Feb 3, 2021.
After discussion during the [Release meeting notes 2021-02-01](https://release sync meeting) Katello branching to 4.0 will be delayed until at least Feb 3, 2021.
Branch Date Feb 1 2021
Stabilization Week Jan 25th through Jan 29th, 2021
One Month Prior to Branch Date - Jan 1 2021
Release Owner
- Announce upcoming branching to discourse development category a month before
- Start extracting i18n strings and pushing the changes into master git branches so Transifex can pick it up
-
Update Katello Transifex translations:
- Create a Transifex account and join the Foreman team
- Spin up a Foreman and Katello installation
-
Install Transifex client
pip3 install transifex-client --user
- Configure the Transifex client
- Install grunt
-
grunt i18n:extract
in the katello/engines/bastion_katello directory -
make -C locale tx-update
in the katello directory -
grunt i18n:compile
in the katello/engines/bastion_katello directory -
bundle exec rake plugin:gettext[katello]
in the foreman directory - Commit the resulting files in the katello directory with a message like “i18n - pulling from tx”
Two Weeks Prior to Branch Date (Jan 18 2021)
Release Owner
-
Add tool_belt config for new release tool_belt configs
- Check the nightly config file if any repos/tags need to be updated in the newly created config.
-
Ensure stable Pulp release
- Update the katello-repos
- Update forklift
Release Packager
-
Ensure tool_belt config is merged and output from
./tools.rb koji configs/katello/4.0.yaml
matches expectations
On Branch Date (Feb 3 2021)
Release Owner
-
Create KATELLO-4.0 branches
-
Bump versions to 4.1-master
-
Create PR to foreman-infra to add a mapping between the current Foreman and Katello release branches. Also remove the oldest mapping from the config. See this example.
-
Branch docs
- Use
./tools branch-docs config/katello/4.0.yaml
to branch automatically or by hand:- Copy nightly manual content to 4.0
-
Create sidebar from nightly to
sidebar_4.0.html
-
Add 4.0 to layout and set
display
to include-RC
- Add 4.0 to _config.yml mirroring other entries
-
Draft release notes in markdown (example), with these sections (and do not use personal pronouns):
- Headline features: half a dozen important features with a few sentences description each
- Upgrade notes: all important notices that users must be aware of before upgrading
- Release notes: bullet point list by category of most changes, excluding bug fixes for issues introduced during the release cycle, include link to bug numbers. You can auto-generate changes using the ‘changelog’ command in tool_belt
-
Add contributor list on release notes page ex
git shortlog -s KATELLO-3.17..KATELLO-3.18
- Use
-
Update API docs and open a PR with the changes:
VERSION= GITDIR=~/git #directory containing theforeman.org git repo FOREMAN_APIPIE_LANGS=en rake apipie:cache cp -rf public/apipie-cache/* $GITDIR/theforeman.org/plugins/katello/$VERSION/api find $GITDIR/theforeman.org/plugins/katello/$VERSION/api -name "*.json" -type f -delete sed -i "/layout: /d" $GITDIR/theforeman.org/plugins/katello/$VERSION/api/index.md
Release Packager
-
Run
./tools koji configs/katello/4.0.yaml
from tool_belt to create Koji tags -
Run
./tools mash-scripts configs/katello/4.0.yaml
from tool_belt to create Koji mash configs and open PR to tool_belt to commit -
Copy mash configs to Koji (
/etc/mash
) -
Update the branch map in the mash script and deploy it to Koji
-
Add 4.0 to Forklift versions config
-
Add new Katello release job to foreman-infra
-
Update Katello PR pipeline with new version pipeline
-
Ensure releases of installer modules, this is typically done as part of Foreman module release workflow