Make this post a wiki
Roles
- Release Owner: @upadhyeammit
- Release Engineer: @Odilhao
Manual updates: 2021-11-11 2021-11-15
Release Owner
- 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
- Headline features: half a dozen important features with a few sentences description each
- Upgrade notes: all important notices that users must be aware of before upgrading
-
Update installer options section using the get-params script (Note: this step can only be done after packages are released)
Generate the apipie docs and raise pull request in apidocs repository
Preparing code: 2021-11-11 2021-11-15
Release Owner
-
Remove/change target version field for any open Redmine tickets assigned to the release still (next minor, unset it or reject)Nothing moved as of now, so we can track few remaining fixes targeted for the 3.1. - Ensure that code in git matches issues fixed in 3.1.0-rc1 in redmine. issues.rb can be used to generate a comparison between the two.
Tagging a release: 2021-11-11 2021-11-15
Release Owner
- In foreman 3.1-stable:
- Make sure test_3_1_stable is green
-
runNot required as we recently updated translations.make -C locale tx-update
-
Tag the release using tag.sh
tag.sh 3.1.0-rc1 && git push upstream 3.1-stable --follow-tags
- In smart-proxy 3.1-stable:
- Make sure test_proxy_3_1_stable is green
-
Tag the release using tag.sh
tag.sh 3.1.0-rc1 && git push upstream 3.1-stable --follow-tags
- In foreman-selinux 3.1-stable:
-
Tag the release using tag.sh
tag.sh 3.1.0-rc1 && git push upstream 3.1-stable --follow-tags
-
Tag the release using tag.sh
- In foreman-installer 3.1-stable:
-
Tag the release using tag.sh
tag.sh 3.1.0-rc1 && git push upstream 3.1-stable --follow-tags
-
Tag the release using tag.sh
- Run the Jenkins Tarballs Release to create tarballs
Release Engineer
- 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-11-11 2021-11-15
Release Engineer
- Update foreman-packaging branches
- Wait for packages to be built
-
Tag
foreman-release
intoforeman-client-3.1-rhel7
andforeman-client-3.1-el8
, as this doesn’t happen automatically for those tags. Make sure the build matches the release.- `koji tag-build foreman-client-3.1-rhel7 foreman-release-3.1.0-0.2.rc1.el7
- `koji tag-build foreman-client-3.1-el8 foreman-release-3.1.0-0.2.rc1.el8
- Check for outstanding PRs against 3.1 packaging, and merge if possible:
- Sign the RPMs in the release
-
Sign RPMs for client repos (call scripts with
PROJECT=client
) - Kick off the release pipeline by calling release_pipeline`
-
Kick off the client pipeline by calling
PROJECT=client release_pipeline
- Kick off the plugins pipeline by calling plugins_pipeline
After the packages have been released
Release Owner
-
Add the 3.1 in
foreman_versions
list in website’s_config.yml
file - 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.1-deb-test-pipeline and foreman-plugins-3.1-rpm-test-pipeline. These don’t block releases but can be used to understand known issues around plugin compatibility with Foreman 3.1.