Foreman 1.24 branching process

Two weeks before branching

During the week before branching

Package build systems

  • Create tool_belt config based on the previous release
  • Clone tags and create build targets in Koji: bundle exec ./tools.rb koji --commit configs/foreman/1.24.yaml
  • Create mash configuration on Koji:
    bundle exec ./tools.rb mash-scripts configs/foreman/1.24.yaml
    scp mash_scripts/foreman/1.24.0/*.mash root@koji.katello.org:/etc/mash/
    
    • Create mash scripts on Koji:
    ssh root@koji.katello.org
    cd /usr/local/bin
    # create foreman-client-mash-split-1.24.py  foreman-mash-split-1.24.py  foreman-rails-mash-split-1.24.py based on the unversioned files
    
  • Add new plugin tags to Koji plugins mash script (foreman-mash-split-plugins.py), remove old ones (keep three)
  • Add version 1.24 to jobs in axes and/or combination filters, remove old ones (keep three)
  • Clone Debian nightly repos to 1.24 using copy/freight instructions

Branch main code repos

  • Create 1.24-stable branches
  • Branch foreman-packaging
    • Create rpm/1.24 and update packages/foreman/foreman-release/foreman.gpg, mock/*.cfg, package_manifest.yaml, rel-eng/{releasers.conf,tito.props} and repoclosure/*.conf PR
    • Create deb/1.24
    • Update .github/PULL_REQUEST_TEMPLATE.md (by adding [\*] 1.24 to it) in master
  • Bump versions to 1.25-develop
    echo 1.25.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.25.0-1 -m "Bump changelog to 1.25.0 to match VERSION" debian/*/*/changelog

Other systems

  • Create release schedule page for next version (1.25) linked from Development_Resources and post planned schedule on Discourse.
  • Create Redmine versions
    • Add next version number (1.25) and make sure it is shared with subprojects in foreman
    • Add first patch release (1.24.1) and make sure it is shared with subprojects in foreman
  • Create test_1_24_stable.yaml and test_proxy_1_24_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.24 to Forklift versions config PR

For the record, I’ve pushed extracted strings for:

  • Discovery
  • Bootdisk
1 Like

Puppet modules have all been released.

2 Likes

hammer-cli 0.19.0, hammer-cli-foreman 0.19.0 and apipie-bindings 0.3.0 were released.
I’ll send packaging PRs Tue morning after branching.

1 Like

Just a quick reminder once 1.25 will be in preparation that we agreed to go with 2.0 instead 1.25. If nothing goes wrong, next branching process would need a major bump:

(Leaving it here so we won’t forget.) :slight_smile: