Foreman 1.23 branching process

Two weeks before branching

During the week before branching

Package build systems

  • Clone tags and create build targets in Koji
  • Create mash scripts and configuration on Koji
  • Add new plugin tags to Koji plugins mash script (foreman-mash-split-plugins.py), remove old ones (keep three)
  • Add version 1.23 to jobs in axes and/or combination filters, remove old ones (keep three)
  • Clone Debian nightly repos to 1.23 using copy/freight instructions
  • Include Rails repository
    • Add foreman-rails-1.23-rhel7 tag entries to Foreman tool_belt config
    • Add mash script config entry to tool_belt config: foreman-rails-1.23-rhel7
    • Copy mash script config to Koji
    • Add foreman-rails-mash-split-1.23.py to Koji /usr/local/bin
  • Add foreman-client
    • Add client tag configuration to tool_belt config
    • Clone tags and create build targets
    • Create mash scripts and transfer to Koji
    • Create release job in foreman-infra, example

Branch main code repos

  • Create 1.23-stable branches
  • Branch foreman-packaging
    • Create rpm/1.23
      • update packages/foreman/foreman-release/foreman.gpg, mock/*.cfg, package_manifest.yaml, rel-eng/{releasers.conf,tito.props} and repoclosure/*.conf
    • Create deb/1.23
    • Update .github/PULL_REQUEST_TEMPLATE.md (by adding * 1.23 to it) in master
  • Bump versions to 1.24-develop
    echo 1.24.0-develop > VERSION
  • Update foreman-packaging:
    • rpm/develop: Update rel-eng/{releasers.conf,tito.props}, packages/foreman/foreman{,-{installer,proxy,release,selinux}}/*.spec
    • deb/develop: scripts/changelog.rb -v 1.24.0-1 -m "Bump changelog to 1.24.0 to match VERSION" debian/*/*/changelog

Other systems

  • Create release schedule page for next version (1.24) linked from Development_Resources and post planned schedule on Discourse.
  • Create Redmine versions
    • Add next version number (1.24) and make sure it is shared with subprojects in foreman
    • Add first patch release (1.23.1) and make sure it is shared with subprojects in foreman
  • Create test_1_23_stable.yaml and test_proxy_1_23_stable.yaml for JJB in foreman-infra, remove the oldest version to keep last 3
  • Ensure current Foreman deprecations for the next release are removed in develop
  • Add 1.23 to Forklift versions config

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

1 Like

In the process of releasing puppet-foreman_proxy. The release PR is open
https://github.com/theforeman/puppet-foreman_proxy/pull/524
I’d like some additional documentation to be merged first:
https://github.com/theforeman/puppet-foreman_proxy/pull/526