Foreman 3.5.0 release process

Make this post a wiki

Roles

Manual updates: 2022-12-14

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.5.0
    • Append CLI release notes taken from the hammer-cli and hammer-cli-foreman changelogs, in theforeman.org and docs.theforeman.org websites release notes.
    • 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.5.0 > ./guides/doc-Release_Notes/topics/foreman-3.5.0.adoc
    • Append CLI release notes taken from the hammer-cli and hammer-cli-foreman changelogs to foreman-3.5.0.adoc.
    • Add topics/foreman-3.5.0.adoc to guides/doc-Release_Notes/master.adoc: sed -i '/x.y.z releases here/a include::topics/foreman-3.5.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
    • Submit this as a PR
  • Update the apipie docs and place those in the foreman/3.5/apidoc directory if any changes were made to the API

Preparing code: 2022-12-14

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.5.0 in redmine. issues.rb can be used to generate a comparison between the two.
  • Change Redmine version 3.5.0 state to Closed

Tagging a release: 2022-12-14

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: 2022-12-14

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

While packaging a critical issue was found. I’m going to skip 3.5.0 and move to 3.5.1 once Fixes #35871 - purge trends only when statistics not installed by ezr-ondrej · Pull Request #9559 · theforeman/foreman · GitHub is merged.

Shouldn’t Katello 4.7 be delayed as well? I just read the release announcement and I assume it requires Foreman 3.5.

It does, so it’s recommended to wait for Foreman 3.5.1. I’m in the process of releasing now so I hope to have it available very soon.

1 Like