Near-end of development phase
- Announce upcoming branching to discourse development category a month before
-
Change
$latest
and$next
parameters on web class to point to the new version numbers
https://github.com/theforeman/foreman-infra/pull/1023 -
Refresh unattended templates
-
Sync the community-templates to Foreman core, by running
script/sync_templates.sh
https://github.com/theforeman/foreman/pull/6678/files - Create a -stable branch in community-templates
-
Sync the community-templates to Foreman core, by running
- Add new languages that are at a reasonable completion on Transifex to develop
- Generate, backup, sign and upload a GPG key
-
Publish the key by exporting the GPG key
- Update the website’s security.md and create a file in static/keys
- Create releases/1.22/RPM-GPG-KEY-foreman on yum.theforeman.org
- Ask plugin authors to start extracting i18n strings and pushing the changes into develop/master git branches so Transiflex can pick it up
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.22 to jobs in axes and/or combination filters, remove old ones (keep three)
- Clone Debian nightly repos to 1.22 using copy/freight instructions
- Edit foreman-packaging’s PR template to add 1.22 and remove the old release
-
Include Rails repository
- Add foreman-rails-1.22-rhel7 tag entries to Foreman tool_belt config
- Add mash script config entry to tool_belt config: foreman-rails-1.22-rhel7
- Copy mash script config to Koji
- Add foreman-rails-mash-split-1.22.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
Main code repos
- Make releases of installer modules
-
Update locales in foreman develop:
make -C locale tx-update
-
Create 1.22-stable branches
- foreman
-
foreman-installer
-
bundle exec rake pin_modules && sed -i '/Puppetfile.lock/d' .gitignore && bundle exec librarian-puppet install && git add Puppetfile*
-
- foreman-selinux
- smart-proxy
-
Branch foreman-packaging
-
Create rpm/1.22 and update
packages/foreman/foreman-release/foreman.gpg
,mock/*.cfg
,package_manifest.yaml
,rel-eng/{releasers.conf,tito.props}
,repoclosure/*.conf
- Create deb/1.22
-
update
.github/PULL_REQUEST_TEMPLATE.md
-
Create rpm/1.22 and update
-
Bump versions to 1.23-develop
echo 1.23.0-develop > VERSION
-
foreman
Also change package.json version field to 1.23.0 - foreman-installer
- foreman-selinux
- smart-proxy
-
foreman
-
Update foreman-packaging:
-
rpm/develop: Update
rel-eng/{releasers.conf,tito.props}
,packages/foreman/foreman{,-{installer,proxy,release,selinux}}/*.spec
and.github/PULL_REQUEST_TEMPLATE.md
-
deb/develop:
scripts/changelog.rb -v 1.23.0-1 -m "Bump changelog to 1.23.0 to match VERSION" debian/*/*/changelog
and update.github/PULL_REQUEST_TEMPLATE.md
-
rpm/develop: Update
Website
- Copy website manual content from nightly to 1.22
Other systems
- Create release schedule page for next version (1.23) linked from Development_Resources
- Create Redmine versions
- Update foreman-dev with translations status to encourage 100% translations before release
- Announce string freeze date on discourse and send announcement via https://www.transifex.com/foreman/foreman/announcements/
- Create test_1_22_stable.yaml and test_proxy_1_22_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.22 to Forklift versions config
This was based on the wiki procedure and sometimes has a bit more info.