Katello 4.17.0 RC1 Release Process

This procedure was generated from procedures/katello/release.md.erb at a6dba65c1cc1f35628dc414c1d569d6801a88e1c

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 of configs/katello/4.17.yaml)
  • Check for outdated deprecation warnings in the current and next release with ./tools.rb check-deprecation-warnings configs/katello/4.17.yaml. Follow the instructions in the output of the command. Don’t forget to create any Redmine issues needed!
  • Update the 3.15 branch 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.17.0 > ./guides/doc-Release_Notes/topics/katello-4.17.0.adoc
    • Add topics/katello-4.17.0.adoc to guides/doc-Release_Notes/master.adoc: sed '/x.y.z releases here/a include::topics/katello-4.17.0.adoc[leveloffset=+1]' master.adoc
    • Update katello-contributors.adoc with the list of contributors using git log --since="<YYYY-MM-DD of previous major release branching>" --format="%an" | sort | uniq. Manually clean up any erroneous entries.
    • Submit this as a PR
  • Open a PR (or use cherry-pick PR) against the release branch which updates lib/katello/version.rb to 4.17.0.rc1:
    • git pull to make sure you have the latest changes
    • sed '/VERSION/ s/".\+"/"4.17.0.rc1"/' lib/katello/version.rb
    • Update/add the CHANGELOG.md file: GITHUB_ACCESS_TOKEN=<secret> ./tools.rb changelog --version 4.17.0.rc1 configs/katello/4.17.yaml
    • Commit: git commit -m "Release 4.17.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 -i if 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.17
    • Tag: git tag -s -m "Release 4.17.0.rc1" 4.17.0.rc1
    • Push: git push --follow-tags upstream HEAD:KATELLO-4.17 (Must be pushed directly to the release branch, as pull request merges will not preserve tags.)
    • Generate .mo translation files: make -C locale all-mo in the katello directory
    • Generate source gem: gem build katello.gemspec
    • Ensure you have login, password, and two factor authentication set up for rubygems.org
    • Push gem: gem push katello-4.17.0.rc1.gem
  • Inform the delivery team that the gem is published

Once Source is Available

Release Engineer

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

Something went wrong here, as the naming is wrong and breaks the upgrade path. User complaint in Latest Katello 4.17.0 release packages

1 Like