Make this post a wiki
- 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.
- Append CLI release notes taken from the hammer-cli and hammer-cli-foreman changelogs, in theforeman.org and docs.theforeman.org websites release notes.
- 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/3.3/apidoc directory if any changes were made to the API
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 3.3.1 in redmine. issues.rb can be used to generate a comparison between the two.
- Change Redmine version 3.3.1 state to Closed
- Make sure test_3_3_stable and test_3_3_stable are green using verify_green_jobs
- Update release version similar to here
- Tag the projects
- Run the Jenkins Tarballs Release using release_tarballs to create 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.
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.
- Update foreman-packaging branches
- Wait for packages to be built
foreman-client-3.3-el8, as this doesn’t happen automatically for those tags.
koji tag-build foreman-client-3.3-rhel7 foreman-release-3.3.1-1.el7
koji tag-build foreman-client-3.3-el8 foreman-release-3.3.1-1.el8
foreman-plugins-3.3-el8, as this doesn’t happen automatically for those tags.
koji tag-build foreman-plugins-3.3-el8 yggdrasil-VERSION.el8
- Check for outstanding PRs against 3.3 packaging, and merge if possible:
- Sign the RPMs in the release
Sign RPMs for client repos (call scripts with
Kick off the release pipeline by calling
Kick off the client pipeline by calling
- Kick off the plugins pipeline by calling plugins_pipeline
- Update the versions on the website in version and latest news
- Announce the release on Discourse
- Update the topic in #theforeman channel on Freenode
- Share the release announcement on twitter
- Release pipeline will trigger foreman-plugins-3.3-deb-test-pipeline and foreman-plugins-3.3-rpm-test-pipeline. These don’t block releases but can be used to understand known issues around plugin compatibility with Foreman 3.3.