When Ready to Release
Release Owner
-
Request Hammer CLI Katello release from maintainers
-
Request Virt Who Configure release from maintainers
-
Change Redmine version 4.1.0 state to Closed
-
Do Cherry-picks: Clone tool_belt and run:
-
./tools.rb setup-environment configs/katello/4.1.yaml
-
./tools.rb cherry-picks --version 4.1.0 configs/katello/4.1.yaml
- Open a PR in Katello release branch. Make sure the PR name starts with [CP] to prevent our automations from adding it to Redmine issues.
-
Using
git cherry-pick -x
as needed, verify tickets in the cherry_picks_4.1.0 file are accounted for, or additionally cherry-pick them. -
For any cherry-picks that are not needed (including Redmine trackers) you can add them to the
:ignores:
section oftool_belt
inconfigs/katello/4.1.yaml
-
-
Check for outdated deprecation warnings in the current and next release with
./tools check-deprecation-warnings configs/katello/4.1.yaml
. Follow the instructions in the output of the command. Don’t forget to create any Redmine issues needed! -
Bump version:
-
Open a PR (or use cherry-pick PR) against the release branch which updates
lib/katello/version.rb
to 4.1.0 -
Commit:
git commit -m "Release 4.1.0"
-
Open a PR (or use cherry-pick PR) against the release branch which updates
-
In Katello release branch (the real one, not your fork), once PR is merged:
-
Tag:
git tag -s -m "Release 4.1.0" 4.1.0
-
Push:
git push upstream --follow-tags
(Must be pushed directly to the release branch, as pull request merges will not preserve tags.) -
Generate source gem:
gem build katello.gemspec
- Ensure you have a working login and password at rubygems.org
-
Push gem:
gem push katello-4.1.0.gem
-
Tag:
-
Email the delivery team informing them that the gem is published
Once Source is Available
Release Packager
-
Update
katello
,katello-repos
andrubygem-katello
in foreman-packaging rpm/4.1 branch (replace 4.1 with the matching Foreman version):-
obal update katello katello-repos rubygem-katello --version 4.1.0
-
- Merge packaging PR once job is green
- Wait for Jenkins to build the packages (replace 4.1 with the matching Foreman version)
- Download, sign, upload RPM signatures and upload RPMs
- Kick off the release pipeline by calling 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)
- Post a release announcement
- (GA release only) Create and upload release specific developer stable box