Foreman 2.4.1 release process

Make this post a wiki

Manual updates: 2021-06-17

  • Update manual if applicable for any additional installation steps
  • Update release notes section in the manual:
    • Release notes: bullet point list by category of all changes, include link to bug numbers. You can auto-generate changes using the release notes script.
    • CLI release notes are taken from the hammer-cli and hammer-cli-foreman changelogs
    • Link to installer changelogs and note versions being used
  • Update installer options section using the get-params script if any changes were made in the installer or installer modules (after new packages have been released)
  • Update the apipie docs and place those in the foreman/2.4/apidoc directory if any changes were made to the API

Preparing code: 2021-06-17

  • 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
  • Add a new Redmine version for the next minor, unless the series is EOL. Be sure the version is set to sharing with subprojects.
  • 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 2.4.1 in redmine. issues.rb can be used to generate a comparison between the two.
  • Change Redmine version 2.4.1 state to Closed

Tagging a release: 2021-06-17

  • In foreman 2.4-stable:
    • Make sure test_2_4_stable is green
    • Tag the release using 2.4.1 && git push upstream 2.4-stable --follow-tags
  • In smart-proxy 2.4-stable:
  • In foreman-selinux 2.4-stable:
    • Tag the release using 2.4.1 && git push upstream 2.4-stable --follow-tags
  • In foreman-installer 2.4-stable:
    • Tag the release using 2.4.1 && git push upstream 2.4-stable --follow-tags
  • Run the Jenkins Tarballs Release to create tarballs
  • Update release version similar to here
  • Sign Tarballs

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: 2021-06-17

Background documentation

After the packages have been released


FTR, release_packages [Jenkins] says that the build of “foreman” failed on Debian, but what really failed was the repository publishing after the build succeeded and uploaded, and that fixed itself automatically when the next build ran.

2.4-el8-upgrade fails, but that’s expected (it needs to install 2.2, which is broken on el8.4)