Foreman 3.6.0 release process

Make this post a wiki

Roles

  • Release Owner: @ekohl
  • Release Engineer: @ekohl
  • Installer Maintainer: @

Manual updates: 2023-03-21

Release Owner

  • Update manual if applicable for any additional installation steps
  • Update the website’s release notes section in the manual
    • Using the release notes script: ./scripts/release_notes.rb foreman 3.6.0
    • Append CLI release notes taken from the hammer-cli and hammer-cli-foreman changelogs, in theforeman.org.
    • Headline features: half a dozen important features with a few sentences description each
    • Upgrade warnings: all important notices that users must be aware of before upgrading
    • Deprecations: anything that will be removed in a future release
    • Submit this as a PR
  • Update docs.theforeman.org
    • Using redmine_release_notes script (see README as well): ./guides/doc-Release_Notes/redmine_release_notes foreman 3.6.0 > ./guides/doc-Release_Notes/topics/foreman-3.6.0.adoc
    • Append CLI release notes taken from the hammer-cli and hammer-cli-foreman changelogs to foreman-3.6.0.adoc.
    • Add topics/foreman-3.6.0.adoc to guides/doc-Release_Notes/master.adoc: sed -i '/x.y.z releases here/a include::topics/foreman-3.6.0.adoc[leveloffset=+1]' guides/doc-Release_Notes/master.adoc
    • Make sure foreman-contributors.adoc is updated
    • Make sure headline features, upgrade warnings and deprecations are in sync with the website
    • Update web/content/index.adoc and web/content/js/versions.js to declare 3.6 as stable and 3.4 as unsupported
    • Submit this as a PR
  • Update the apipie docs and place those in the foreman/3.6/apidoc directory if any changes were made to the API

Preparing code: 2023-03-21

Installer Maintainer

  • Make patch releases of installer modules that have important changes
    • Branch to MAJ.MIN-stable if recent changes to the module aren’t suitable for patch (x.y.z) release

Release Owner

  • Remove/change target version field for any open Redmine tickets assigned to the release still (next minor, unset it or reject)
  • Ensure that code in git matches issues fixed in 3.6.0 in redmine. issues.rb can be used to generate a comparison between the two.
  • Change Redmine version 3.6.0 state to Closed

Tagging a release: 2023-03-21

Release Owner

Release Engineer

Note: If for some reason there was an issue with the tarballs that required uploading new tarballs, CDN cache should be invalidated so that the builders use the updated tarballs.

Packaging a release: 2023-03-21

Note it is considered good practice to release on a day when the next day is a working day. This means no releases on Fridays or on the day before a holiday.

Release Engineer

Background documentation

After the packages have been released

Release Owner

I’m keeping docs.theforeman.org in the release candidate stage because we don’t use it for Foreman yet and Katello is still in the release candidate stage.

Not sure if the manual is in the desired state. Latest is pointing to 3.5 which then shows the banner for latest version as 3.6. So it seams like at least something is off.

Hmm, yes, that’s the /latest symlink which we always delay a bit because it also affects what’s on https://yum.theforeman.org/releases/latest but perhaps that’s something we should speed up a bit.

It’s also something that goes away once we Making docs.theforeman.org the primary documentation source is completed since there we don’t really have the concept of “latest” now.

Immediate fix for 3.6:

Process change so it’ll be done right in 3.7:

1 Like