Foreman 3.7 branching process

Make this post a wiki


Prep Week: 2023-05-09 to 2023-05-13

Installer Maintainer

Release Owner

  • Ensure headline features planned for the release have been merged or push them off to the next release.
  • Translations:
    • Update locales in foreman develop: make -C locale tx-update
    • Ask plugin authors to start extracting i18n strings and pushing the changes into develop/master git branches so Transiflex can pick it up
    • Announce string freeze date on Discourse and send announcement
    • Update foreman-dev with translations status (click on Report) to encourage 100% translations before release

Stabilization Week: 2023-05-16 to 2023-05-20

Release Owner

Release Engineer

Branching: 2023-05-23

Release Engineer

Release Owner

The next step should only be done after all branching, including packaging, has completed.

  • Bump versions to 3.8-develop using [develop_branch_bump]

  • Push version bumps to 3.8-develop using [develop_branch_push]

  • Ask Hammer maintainer to bump hammer-cli and hammer-cli-foreman

  • Branch foreman-documentation git repository and update website for new release:

Preparing build systems: 2023-05-23

Release engineer

  • Update foreman-packaging rpm/develop to ensure nightlies build:
    • rpm/develop:
      • Update the build tag: sed -i 's/fm3_7/fm3_8/g' package_manifest.yaml
      • Set to version 3.8.0, reset release to 1 in packages/foreman/foreman{,-{installer,proxy,release,selinux}}/*.spec and packages/foreman/rubygem-hammer_cli{,_foreman}/*.spec. Then create a changelog using obal changelog --message '- Bump version to 3.8-develop' foreman{,-{installer,proxy,release,selinux}} rubygem-hammer_cli{,_foreman}
    • deb/develop: scripts/changelog.rb -v 3.8.0-1 -m "Bump changelog to 3.8.0 to match VERSION" debian/*/*/changelog
  • Prepare build systems for 3.7 release:
    • foreman-packaging’s rpm/3.7
      • Update packages/foreman/foreman-release/foreman.gpg, mock/*.cfg, package_manifest.yaml and repoclosure/*.conf
    • foreman-packaging’s deb/3.7
  • Trigger the foreman-packaging-rpm-3.7 job once, so that GitHub hooks are properly set up.
  • Trigger the foreman-packaging-deb-3.7 job once, so that GitHub hooks are properly set up.

Other systems: 2023-05-23

Release Owner

  • Create a Foreman 3.8 Schedule and Planning post on Development/Releases using schedule
  • Create Redmine versions
    • Add next version number (3.8.0) and make sure it is shared with subprojects in foreman
  • Ensure current Foreman deprecations for the next release are removed in develop

This was based on the wiki procedure and sometimes has a bit more info

I’ve opened release PRs for some Puppet modules but GH is broken right now so I can’t really move forward.

PRs opened that should be merged when we branch:


I’m in the middle of branching, but realized I forgot to release puppet-qpid. So to release I’ll need to do that dance:

Also updating packaging develop branches:

Branching is mostly done. I only need to complete the docs, but I’ve opened Foreman 3.7.0-rc1 release process to proceed. Once CI is building I’ll continue with docs branching. Later I’ll also post the 3.8 release schedule.