Project

General

Profile

Release Process » History » Version 6

Dominic Cleal, 05/19/2013 06:20 PM

1 1 Dominic Cleal
h1. Release Process
2
3
For each major release (i.e. not patch releases), the project selects a "release nanny" who's responsible for taking the develop branch through to release.
4
5
Please amend these lists as you see free, and as you find what works and what doesn't work.
6
7
h2. Pre-release
8
9
# Select the release nanny
10 2 Dominic Cleal
# Ensure RPM and Debian nightly packages are in good shape and all RPM dependencies are up to date
11 1 Dominic Cleal
# Decide on the version number
12 2 Dominic Cleal
# If number has changed, update version number in redmine
13
# Add _next+1_ anticipated version number to redmine under "Settings":http://projects.theforeman.org/projects/foreman/settings, sharing "With subprojects"
14
# Check "roadmap":http://projects.theforeman.org/projects/foreman/roadmap and issue search ("example":http://projects.theforeman.org/projects/foreman/issues?fixed_version_id=24&set_filter=1&status_id=o)
15
#* reassign major features to next+1 version or remove version
16 1 Dominic Cleal
#* assign relevant bugs to this upcoming release
17
#* multiple bugs can be managed using checkboxes and then right clicking on the boxes for a menu
18
# Announce beginning of bug-squashing to foreman-dev ("example":http://groups.google.com/group/foreman-dev/browse_thread/thread/769d9060774da864)
19 6 Dominic Cleal
# Draft release notes in markdown ("example":https://gist.github.com/domcleal/5567450) using roadmap, with these sections:
20
## Headline features: half a dozen important features with a few sentences description each
21
## Upgrade notes: all important notices that users must be aware of before upgrading
22
## Release notes: bullet point list by category of most changes, excluding bug fixes for issues introduced during the release cycle, include link to bug numbers
23
# Check @git log@ for any changes without associated bug number and add to release notes if applicable
24 1 Dominic Cleal
25
h2. Pre-release candidates
26
27
# Request creation of tags and build targets in "Koji":http://koji.katello.org/koji from rel-eng (foreman-1.2-rhel6 etc.)
28 5 Dominic Cleal
# Branch develop to 1.2-stable, cherry-picks into this branch only from this point using:
29
#* @git cherry-pick -x SHA@
30 2 Dominic Cleal
# Commit change to VERSION in *develop* to 1.3 (_next+1_ version) and foreman.spec + foreman-proxy.spec to 1.3.9999 (_next+1_ version)
31 4 Dominic Cleal
# Re-tag all dependencies in Koji to the release tag (@kkoji tag-pkg foreman-1.2-rhel6 PKG...@)
32 2 Dominic Cleal
33
h2. For each release candidate
34 3 Dominic Cleal
35 1 Dominic Cleal
# Commit change to VERSION in *1.2-stable* to 1.2.0-RC1 and foreman.spec + foreman-proxy.spec version to 1.2.0 and release to RC1
36 4 Dominic Cleal
# Tag commit as 1.2.0-RC1
37 1 Dominic Cleal
# Perform scratch build and then tag and release real build of foreman and foreman-proxy
38 4 Dominic Cleal
# FIXME: update Debian build script with tag and trigger Debian build