Tagging a release
-
In foreman 1.21-stable:
- Make sure test_1_21_stable is green
-
run
make -C locale tx-update
(if Transifex has not switched to the next major release yet, usually after .2) -
run
script/sync_templates.sh
-
update template snapshots with
rake snapshots:generate RAILS_ENV=test
and verify changes are expected - change VERSION to 1.21.0-RC4
-
Run
extras/changelog
-
Commit:
git commit -am "Release 1.21.0-RC4"
-
Tag:
git tag -s -m "Release 1.21.0-RC4" 1.21.0-RC4
-
Push:
git push --follow-tags
-
In smart-proxy 1.21-stable:
- Make sure test_proxy_1_21_stable is green
- change VERSION to 1.21.0-RC4
-
Run
extra/changelog
-
Commit:
git commit -am "Release 1.21.0-RC4"
-
Tag:
git tag -s -m "Release 1.21.0-RC4" 1.21.0-RC4
-
Push:
git push --follow-tags
-
In foreman-selinux 1.21-stable:
- change VERSION to 1.21.0-RC4
-
Run
extras/changelog
-
Commit:
git commit -am "Release 1.21.0-RC4"
-
Tag:
git tag -s -m "Release 1.21.0-RC4" 1.21.0-RC4
-
Push:
git push --follow-tags
-
In foreman-installer 1.21-stable:
- change VERSION to 1.21.0-RC4
-
Commit:
git commit -am "Release 1.21.0-RC4"
-
Tag:
git tag -s -m "Release 1.21.0-RC4" 1.21.0-RC4
-
Push:
git push --follow-tags
- Run the Jenkins Tarballs Release to create tarballs
- Verify tarballs are present on downloads.theforeman.org
- Download, sign and upload detached signatures
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
-
In foreman-packaging rpm/1.21 branch, change foreman.spec, foreman-proxy.spec, foreman-selinux.spec, foreman-installer.spec:
-
Set version to
1.21.0
-
Set prerelease to
RC4
-
In each package dir, remove the old tarball, run
spectool -g *.spec
andgit annex add *.tar.bz2
- Commit with message “Release 1.21.0-RC4”
- Submit a pull request
-
Set version to
-
Update changelog files for debs:
-
scripts/changelog.rb -v 1.21.0~rc4-1 -m "1.21.0-RC4 released" debian/*/*/changelog
- Submit a pull request
-
- Trigger next step of release pipeline: release_packages
-
Use RPM_Packaging to sign RPMs
- Download RPMs
- Sign RPMs
- Upload signatures
- Upload RPMs
- Sign “extra” RPMs
- Trigger release_mash
- Trigger release_test if mashing didn’t
- Trigger release_push_deb and release_push_rpm if testing didn’t