Release Process » History » Version 11
Dominic Cleal, 05/20/2013 07:18 AM
formatting
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 | 7 | Dominic Cleal | # Ensure "Transifex project":https://www.transifex.com/projects/p/foreman/ is up to date |
12 | 1 | Dominic Cleal | # Decide on the version number |
13 | 2 | Dominic Cleal | # If number has changed, update version number in redmine |
14 | # Add _next+1_ anticipated version number to redmine under "Settings":http://projects.theforeman.org/projects/foreman/settings, sharing "With subprojects" |
||
15 | # 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) |
||
16 | #* reassign major features to next+1 version or remove version |
||
17 | 1 | Dominic Cleal | #* assign relevant bugs to this upcoming release |
18 | #* multiple bugs can be managed using checkboxes and then right clicking on the boxes for a menu |
||
19 | # Announce beginning of bug-squashing to foreman-dev ("example":http://groups.google.com/group/foreman-dev/browse_thread/thread/769d9060774da864) |
||
20 | 8 | Dominic Cleal | # Copy website manual content ("theforeman.org repo":http://github.com/theforeman/theforeman.org) from previous version to this version ("example":https://github.com/theforeman/theforeman.org/pull/43) |
21 | # Update manual if applicable for any additional installation steps |
||
22 | 6 | Dominic Cleal | # Draft release notes in markdown ("example":https://gist.github.com/domcleal/5567450) using roadmap, with these sections: |
23 | ## Headline features: half a dozen important features with a few sentences description each |
||
24 | ## Upgrade notes: all important notices that users must be aware of before upgrading |
||
25 | ## 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 |
||
26 | # Check @git log@ for any changes without associated bug number and add to release notes if applicable |
||
27 | 8 | Dominic Cleal | # Request creation of tags and build targets in "Koji":http://koji.katello.org/koji from rel-eng (foreman-1.2-rhel6 etc.) |
28 | 1 | Dominic Cleal | |
29 | h2. Pre-release candidates |
||
30 | |||
31 | 8 | Dominic Cleal | When ready to branch for release candidates. |
32 | |||
33 | 9 | Dominic Cleal | # In foreman, smart-proxy and foreman-install, branch develop to 1.2-stable |
34 | #* cherry-picks into this branch only from this point using: @git cherry-pick -x SHA@ |
||
35 | 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) |
36 | 4 | Dominic Cleal | # Re-tag all dependencies in Koji to the release tag (@kkoji tag-pkg foreman-1.2-rhel6 PKG...@) |
37 | 7 | Dominic Cleal | # Update foreman-dev with "translations status":https://www.transifex.com/projects/p/foreman/ to encourage 100%25 translations before release, announce string freeze date |
38 | 10 | Dominic Cleal | # Update $repo in both foreman-installer/foreman and foreman_proxy modules to "rc" ("example":https://github.com/theforeman/puppet-foreman/commit/4098163a8) |
39 | 2 | Dominic Cleal | |
40 | h2. For each release candidate |
||
41 | 1 | Dominic Cleal | |
42 | # 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 |
||
43 | # Update version and dependency versions in all foreman-installer submodules |
||
44 | 10 | Dominic Cleal | # Update submodules on foreman-installer's develop branch |
45 | 9 | Dominic Cleal | # Tag commits in foreman, smart-proxy and foreman-installer as 1.2.0-RC1 |
46 | 1 | Dominic Cleal | # Perform scratch build and then tag and release real build of foreman and foreman-proxy (see [[RPM_Packaging]]) |
47 | # FIXME: update Debian build script with tag and trigger Debian build |
||
48 | 10 | Dominic Cleal | # Build foreman-installer modules from develop (see [[Installer_Packaging]] workflow) |
49 | # Build foreman-installer RPM and Debian packages from develop (see [[RPM_Packaging]] and [[Debian_Packaging]]) |
||
50 | |||
51 | h2. For final release |
||
52 | 11 | Dominic Cleal | |
53 | 10 | Dominic Cleal | # Update version and dependency versions in all foreman-installer submodules |
54 | # Revert $repo in both foreman-installer/foreman and foreman_proxy modules to "stable" ("example":https://github.com/theforeman/puppet-foreman/commit/73bd43fa) |
||
55 | # Update submodules on foreman-installer's develop branch |
||
56 | # Merge foreman-installer's develop branch into master |
||
57 | # Build foreman-installer modules from master (see [[Installer_Packaging]] workflow) |
||
58 | # Build foreman-installer RPM and Debian packages from master (see [[RPM_Packaging]] and [[Debian_Packaging]]) |