Foreman 3.8 branching process

Make this post a wiki


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

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-09-12 to 2023-09-16

Release Owner

Release Engineer

Branching: 2023-09-19

Release Engineer

Release Owner

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

  • Bump versions to 3.9-develop using [develop_branch_bump]

  • Push version bumps to 3.9-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-09-19

Release engineer

  • Update foreman-packaging rpm/develop to ensure nightlies build:
    • rpm/develop:
      • Update the build tag: sed -i 's/fm3_8/fm3_9/g' package_manifest.yaml
      • Set to version 3.9.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.9-develop' foreman{,-{installer,proxy,release,selinux}} rubygem-hammer_cli{,_foreman}
    • deb/develop: scripts/changelog.rb -v 3.9.0-1 -m "Bump changelog to 3.9.0 to match VERSION" debian/*/*/changelog
  • Prepare build systems for 3.8 release:
    • foreman-packaging’s rpm/3.8
      • Update packages/foreman/foreman-release/foreman.gpg, mock/*.cfg, package_manifest.yaml and repoclosure/*.conf
    • foreman-packaging’s deb/3.8
  • Trigger the foreman-packaging-rpm-3.8 job once, so that GitHub hooks are properly set up.
  • Trigger the foreman-packaging-deb-3.8 job once, so that GitHub hooks are properly set up.

Other systems: 2023-09-19

Release Owner

  • Create a Foreman 3.9 Schedule and Planning post on Development/Releases using schedule
  • Create Redmine version number (3.9.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 some PRs which should have been opened last week, but I was on vacation:

@Griffin-Sullivan I’ve branched packaging. You can proceed with branching projects.