Make this post a wiki (help)
Roles
One Month Prior to Branch Date
Release Owner
- Start attending upstream release sync meetings and giving updates
- Announce upcoming branching to Discourse development category a month before
- 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 -
tx pull --minimum-perc 50 --all
in the katello directory -
make -C locale tx-pull
in the katello directory -
grunt i18n:compile
in the katello/engines/bastion_katello directory -
bundle exec rake plugin:gettext[katello]
in the foreman directory -
bundle exec rake plugin:po_to_json[katello]
in the foreman directory -
make -C commit-translation-files
in the katello directory - Add any uncommitted translation files and 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
- Commit the settings file to the
theforeman-rel-eng
repository. See an example here - 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
- Coordinate with installer maintainers that expected changes are completed.
- Review the Foreman schedule and planning (example) and note the date of the first scheduled release candidate.
Release Engineer
- Ensure tool_belt config is merged and output from
./tools.rb koji configs/katello/4.11.yaml
matches expectations
On Branch Date
Release Owner
- Create the KATELLO-4.11 branch using branch_project
- Push the KATELLO-4.11 branch using branch_push
- Bump versions to 4.12-master using develop_branch_bump
- Push version bumps to 4.12-master using develop_branch_push
- Bump Katello related packages to their next versions
- Generate and post the release procedure, if not already posted:
- Use procedure_release: `PROJECT=katello VERSION=4.11 ./procedure_release “2023-11-21” “@iballou” “@Odilhao”
- Post the output in Development/Releases using
Katello 4.11.0-rc1 release process
- Clone GitHub - theforeman/apidocs: API documentation for Foreman and its plugins and follow the Katello README section to update the API documentation.
- Prepare “Katello Next” and future redmine versions
- Rename the “Katello Next” release to Katello 4.12.0
- Recreate the “Katello Next” release and indicate that it is a placeholder for issues belonging to the next version of Katello
- Create the “Katello 4.11.1 TODO” custom query using the last one as a template
Release Engineer
- Run
./tools.rb koji configs/katello/4.11.yaml --confirm
from tool_belt to create Koji tags - Run
./tools.rb mash-scripts configs/katello/4.11.yaml
from tool_belt to create Koji mash configs and open PR to tool_belt to commit - Copy mash configs to Koji using deploy_mash_configs