One Month Prior to Branch Date
Release Owner
- Start attending upstream release sync meetings and giving updates
- Announce upcoming branching to Discourse development category
-
Update Katello Transifex translations:
- Create a Transifex account and join the Foreman team
- Spin up a Foreman and Katello installation
- 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”
- Open a PR to Katello (no Redmine issue needed)
Three Weeks Prior to Branch Date
Release Owner
- Ensure that issues requiring installer changes are merged
Two Weeks Prior to Branch Date
Release Owner
-
Add tool_belt config for new release:
- Create a new yaml file using the nightly Katello config as a template: tool_belt configs
-
Manually update the following sections:
- releases: update to current release. Move the previous ‘current’ release to prior_releases below.
- prior_releases: Remove the oldest prior_release (check with that release owner first to see if there’s a reason it should stay)
- mash_scripts: update Katello version number in all values
- repos: Update branch names to current versions, including any new releases that need to happen
- ignores: Delete all items from this list and start fresh (this will be used for cherry-picks later)
- gpg-key: When it becomes available, get the new Foreman GPG key for the corresponding Foreman version (example here and put the last 8 characters here
- tags: update Katello version number in all values. Check the nightly config to see if any tags/repos need to be updated
- Open a PR to tool_belt with the new config file
-
Ensure stable Pulp release
- Update the katello-repos
- Update forklift
- Coordinate with installer maintainers that expected changes are completed.
Release Packager
-
Ensure tool_belt config is merged and output from
./tools.rb koji configs/katello/4.2.yaml
matches expectations
On Branch Date
Release Owner
-
Create KATELLO-4.2 branches
-
Bump versions to 4.3-master
-
Create PR to jenkins-jobs to add a mapping between the current Foreman and Katello release branches. Also remove the oldest mapping from the config. See this example.
-
Review the Foreman schedule and planning (example) and note the date of the first scheduled release candidate.
-
Generate and post the release procedure, if not already posted:
-
Branch docs
-
Prepare release notes 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
-
Changelog: 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 (make sure to run thesetup-environment
command first) -
Add contributor list on release notes page:
git shortlog -s KATELLO-4.0..KATELLO-4.1
-
Create a pull request to
theforeman/foreman-documentation
:- Locate the Foreman documentation PR for the current version - example here
- Add Katello-related content in the same file and base the PR off of the Foreman PR
-
Prepare release notes with these sections (and do not use personal pronouns):
-
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.2.yaml
from tool_belt to create Koji tags -
Run
./tools mash-scripts configs/katello/4.2.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.2 to Forklift versions config
- Add new Katello release job to foreman-infra
- Update Katello PR pipeline with new version pipeline