Foreman 3.7.0-rc1 release process

Make this post a wiki

Roles

Preparing code: 2023-05-23

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.7.0-rc1 in redmine. issues.rb can be used to generate a comparison between the two.

Tagging a release: 2023-05-23

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-05-23

Release Engineer

Background documentation

Manual updates: 2023-05-23

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.7.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.7.0 > ./guides/doc-Release_Notes/topics/foreman-3.7.0.adoc
    • Append CLI release notes taken from the hammer-cli and hammer-cli-foreman changelogs to foreman-3.7.0.adoc.
    • Add topics/foreman-3.7.0.adoc to guides/doc-Release_Notes/master.adoc: sed -i '/x.y.z releases here/a include::topics/foreman-3.7.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 add 3.7 as a release candidate
    • Submit this as a PR
  • Generate the apipie docs and raise pull request in apidocs repository

After the packages have been released

Release Owner

I just realized that I messed up the foreman-installer part and missed `Puppetfile.lock. I’ve just submitted Include Puppetfile.lock by ekohl · Pull Request #855 · theforeman/foreman-installer · GitHub to include and will proceed with rc2, skipping rc1 altogether. Removing tags and recreating them is always a bad idea, especially since we already have some tarballs.