Make this post a wiki (help)
Roles
When Ready to Release
Release Owner
-
Request Hammer CLI Katello release from maintainers
-
Request Virt Who Configure release from maintainers
-
Request any other releases as needed from the release owners (consult the
:repos:section ofconfigs/katello/4.11.yaml) -
Check for outdated deprecation warnings in the current and next release with
./tools check-deprecation-warnings configs/katello/4.11.yaml. Follow the instructions in the output of the command. Don’t forget to create any Redmine issues needed! -
Update the
3.9branch in foreman-documentation- Ensure release notes are correct
- Headline features: important features with a few sentences description each
- Upgrade notes: all important notices that users must be aware of before upgrading
- Deprecations: features that will be removed or changed in a future version
- Using redmine_release_notes (see README as well):
./guides/doc-Release_Notes/redmine_release_notes katello 4.11.0 > ./guides/doc-Release_Notes/topics/katello-4.11.0.adoc - Add
topics/katello-4.11.0.adoctoguides/doc-Release_Notes/master.adoc:sed '/x.y.z releases here/a include::topics/katello-4.11.0.adoc[leveloffset=+1]' master.adoc - Make sure katello-contributors.adoc is updated
- Submit this as a PR
- Ensure release notes are correct
-
Open a PR (or use cherry-pick PR) against the release branch which updates
lib/katello/version.rbto 4.11.0.rc1:-
git pullto make sure you have the latest changes -
sed '/VERSION/ s/".\+"/"4.11.0.rc1"/' lib/katello/version.rb - Update/add the CHANGELOG.md file:
GITHUB_ACCESS_TOKEN=<secret> ./tools changelog --version 4.11.0.rc1 configs/katello/4.11.yaml - Commit:
git commit -m "Release 4.11.0.rc1" - Ensure that the commit above is the last commit and there are no commits after it. This is the commit that will get tagged. (Rearrange commits with
git rebase -iif needed.)
-
-
Once the PR is merged, perform the following in the Katello release branch (the real one, not your fork):
- Create upstream remote:
git remote add upstream https://github.com/Katello/katello.git - Fetch upstream remote:
git fetch upstream - Checkout upstream release branch:
git checkout upstream/KATELLO-4.11 - Tag:
git tag -s -m "Release 4.11.0.rc1" 4.11.0.rc1 - Push:
git push --follow-tags(Must be pushed directly to the release branch, as pull request merges will not preserve tags.) - Generate .mo translation files:
make -C locale all-moin the katello directory - Generate source gem:
gem build katello.gemspec - Ensure you have a working login and password at rubygems.org
- Push gem:
gem push katello-4.11.0.rc1.gem
- Create upstream remote:
-
Inform the delivery team that the gem is published
Once Source is Available
Release Engineer
- Update release version similar to here
- Update
katello,katello-reposandrubygem-katello- Use bump_rpm_packaging:
PROJECT=katello VERSION=4.11 ./bump_rpm_packaging
- Use bump_rpm_packaging:
- Merge packaging PR once job is green
- Use wait_packaging to wait for Jenkins to build the packages
- download_rpms, sign_rpms, upload_rpm_signatures, upload_rpms
- Use release_pipeline to kick off the release pipeline
Once release is out
Release Owner
- Confirm response that the build succeeded (or if necessary, do more cherry-picks and version bumps repeating the steps above)
- Test the install and upgrade documentation for both the Katello server and smart proxy
- Post a release announcement