Foreman 3.17.1 Release Process

This procedure was generated from procedures/foreman/release.md.erb at 5307e9df83d5b7f553aafae25c5e961c05d5a5d8

Make this post a wiki (help)

Roles

Preparing code: 2026-02-25

Installer Maintainer

  • Make patch releases of installer modules that have important changes
    • Branch to MAJ.MIN-stable if recent changes to the module aren’t suitable for patch (x.y.z) release

Release Owner

  • Make sure any release blocking issues are resolved and remove/change target version field for any open Redmine tickets assigned to the release still (next minor, unset it or reject). Look for the 3.17.1 release TODO saved query on Foreman’s issues.
  • Ensure that code in git matches issues fixed in 3.17.1 in Redmine. Use the 3.17.1 release DONE saved query on Foreman’s issues. issues can be used to generate a comparison between the two.
  • Check for open pull requests in Foreman, smart-proxy, foreman-installer and foreman-selinux gh search prs --state=open --base=3.17-stable --repo=theforeman/foreman --repo=theforeman/smart-proxy --repo=theforeman/foreman-installer --repo=theforeman/foreman-selinux

Tagging a release: 2026-02-25

Release Owner

Release Engineer

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: 2026-02-25

Note it is considered good practice to release on a day when the next day is a working day. This means no releases on Fridays or on the day before a holiday.

Release Engineer

Background documentation

Manual updates: 2026-02-25

Release Owner

After the packages have been released

Release Owner

It’s 3.17.1, not 3.17.2 :wink:

I’ve opened Fixes #38963 - Add openbolt plugin support by evgeni · Pull Request #1052 · theforeman/foreman-installer · GitHub as the only installer-related change I am aware of

1 Like

I know, computers and versioning are hard. Thanks :wink: