3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
1 |
Releasing Bazaar |
2 |
================ |
|
3 |
||
4 |
This document describes the processes for making and announcing a Bazaar |
|
3778.2.1
by Martin Pool
Updated release process documentation. |
5 |
release, and managing the release process. This is just one phase of the |
6 |
`overall development cycle <cycle.html>`_, but it's the most complex part. |
|
7 |
This document gives a checklist you can follow from start to end in one |
|
8 |
go. |
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
9 |
|
10 |
.. contents:: |
|
11 |
||
3383.2.4
by Martin Pool
Trim from the release instructions things that are now automated or unnecessary |
12 |
Preparing the tree for release |
13 |
------------------------------ |
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
14 |
|
15 |
.. Was previously at http://bazaar-vcs.org/ReleaseChecklist |
|
16 |
||
3464.3.6
by Martin Pool
Release process updates |
17 |
#. Make a local branch for preparing this release. (Only for the first |
18 |
release in a series, otherwise you should already have a branch.) :: |
|
19 |
||
20 |
bzr branch trunk prepare-1.6 |
|
21 |
||
22 |
#. Configure pqm-submit for this branch, with a section like this in |
|
23 |
``~/.bazaar/locations.conf``:: |
|
24 |
||
25 |
[/home/mbp/bzr/prepare-1.4] |
|
26 |
pqm_email = Canonical PQM <pqm@bazaar-vcs.org> |
|
27 |
submit_branch = http://bazaar-vcs.org/bzr/bzr.1.4 |
|
28 |
submit_to = bazaar@lists.canonical.com |
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
29 |
|
3464.3.1
by Martin Pool
Tweak release docs re version numbers |
30 |
#. In the release branch, update ``version_info`` in |
3778.2.1
by Martin Pool
Updated release process documentation. |
31 |
``./bzrlib/__init__.py``. Check the output of ``bzr --version``. |
32 |
||
33 |
#. Add the date and release number to ``./NEWS`` |
|
34 |
||
35 |
#. Summarize into one or two paragraphs what's new in this release. |
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
36 |
|
37 |
#. Commit these changes to the release branch, using a command like:: |
|
38 |
||
3464.3.6
by Martin Pool
Release process updates |
39 |
bzr commit -m "Release 0.12rc1." |
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
40 |
|
41 |
The diff before you commit will be something like:: |
|
42 |
||
3778.2.2
by John Arbash Meinel
Rewrap some doc text, update the diff hunk to be accurate for current NEWS. |
43 |
=== modified file 'NEWS' |
44 |
--- NEWS 2008-09-17 23:09:18 +0000 |
|
45 |
+++ NEWS 2008-09-23 16:14:54 +0000 |
|
46 |
@@ -4,6 +4,23 @@ |
|
47 |
||
48 |
.. contents:: |
|
49 |
||
50 |
+bzr 1.7 2008-09-23 |
|
51 |
+------------------ |
|
52 |
+ |
|
53 |
+This release includes many bug fixes and a few performance and feature |
|
54 |
+improvements. ``bzr rm`` will now scan for missing files and remove them, |
|
55 |
+like how ``bzr add`` scans for unknown files and adds them. A bit more |
|
56 |
+polish has been applied to the stacking code. The b-tree indexing code has |
|
57 |
+been brought in, with an eye on using it in a future repository format. |
|
58 |
+There are only minor installer changes since bzr-1.7rc2. |
|
59 |
+ |
|
60 |
bzr 1.7rc2 2008-09-17 |
|
61 |
--------------------- |
|
62 |
||
63 |
||
64 |
=== modified file 'bzrlib/__init__.py' |
|
65 |
--- bzrlib/__init__.py 2008-09-16 21:39:28 +0000 |
|
66 |
+++ bzrlib/__init__.py 2008-09-23 16:14:54 +0000 |
|
67 |
@@ -41,7 +41,7 @@ |
|
68 |
# Python version 2.0 is (2, 0, 0, 'final', 0)." Additionally we use a |
|
69 |
# releaselevel of 'dev' for unreleased under-development code. |
|
70 |
||
71 |
-version_info = (1, 7, 0, 'candidate', 2) |
|
72 |
+version_info = (1, 7, 0, 'final', 0) |
|
73 |
||
74 |
||
75 |
# API compatibility version: bzrlib is currently API compatible with 1.7. |
|
76 |
||
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
77 |
|
3383.2.5
by Martin Pool
merge trunk |
78 |
#. Submit those changes to PQM for merge into the appropriate release |
3464.3.6
by Martin Pool
Release process updates |
79 |
branch:: |
80 |
||
81 |
bzr push |
|
82 |
bzr pqm-submit -m "(mbp) prepare 1.6" |
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
83 |
|
84 |
#. When PQM succeeds, pull down the master release branch. |
|
85 |
||
3464.3.6
by Martin Pool
Release process updates |
86 |
|
3383.2.4
by Martin Pool
Trim from the release instructions things that are now automated or unnecessary |
87 |
Making the source tarball |
88 |
------------------------- |
|
89 |
||
3408.1.3
by Martin Pool
More release process updates |
90 |
#. Change into the source directory and run :: |
3383.2.4
by Martin Pool
Trim from the release instructions things that are now automated or unnecessary |
91 |
|
92 |
make dist |
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
93 |
|
3778.3.3
by Martin Pool
Build zip file from 'make dist' and document this; also tweak standard announcement mail |
94 |
This also makes a zip file, which is easier to access on Microsoft |
95 |
Windows. |
|
96 |
||
3408.1.3
by Martin Pool
More release process updates |
97 |
#. Now we'll try expanding this tarball and running the test suite |
98 |
to check for packaging problems:: |
|
99 |
||
100 |
make check-dist-tarball |
|
3383.2.5
by Martin Pool
merge trunk |
101 |
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
102 |
|
103 |
Publishing the release |
|
104 |
---------------------- |
|
105 |
||
106 |
Now you have the releasable product. The next step is making it |
|
107 |
available to the world. |
|
108 |
||
109 |
#. In <https://launchpad.net/bzr/> click the "Release series" for this |
|
110 |
series, to take you to e.g. <https://launchpad.net/bzr/1.1>. Then |
|
111 |
click "Register a release", and add information about this release. |
|
112 |
||
3778.3.3
by Martin Pool
Build zip file from 'make dist' and document this; also tweak standard announcement mail |
113 |
#. Within that release, upload the source tarball and zipfile and the GPG |
114 |
signature. Or, if you prefer, use the |
|
115 |
``tools/packaging/lp-upload-release`` script to do this. |
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
116 |
|
117 |
#. Link from http://bazaar-vcs.org/Download to the tarball and signature. |
|
118 |
||
3778.2.1
by Martin Pool
Updated release process documentation. |
119 |
#. Announce on the `Bazaar home page <http://bazaar-vcs.org/>`_. |
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
120 |
|
3778.2.1
by Martin Pool
Updated release process documentation. |
121 |
#. Check that the documentation for this release is available in |
122 |
<http://doc.bazaar-vcs.org>. It should be automatically build when the |
|
123 |
branch is created, by a cron script ``update-bzr-docs`` on |
|
124 |
``escudero``. |
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
125 |
|
126 |
||
127 |
Announcing the release |
|
128 |
---------------------- |
|
129 |
||
130 |
Now that the release is publicly available, tell people about it. |
|
131 |
||
3778.2.1
by Martin Pool
Updated release process documentation. |
132 |
#. Make an announcement mail. |
133 |
||
134 |
For release candidates, this is sent to the ``bazaar-announce`` and |
|
135 |
``bazaar`` lists. For final releases, it should also be cc'd to |
|
136 |
``info-gnu@gnu.org``, ``python-announce-list@python.org``, |
|
3778.2.2
by John Arbash Meinel
Rewrap some doc text, update the diff hunk to be accurate for current NEWS. |
137 |
``bug-directory@gnu.org``. In both cases, it is good to set |
138 |
``Reply-To: bazaar@lists.canonical.com``, so that people who reply to |
|
139 |
the announcement don't spam other lists. |
|
3778.2.1
by Martin Pool
Updated release process documentation. |
140 |
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
141 |
The announce mail will look something like this: |
142 |
||
3778.2.1
by Martin Pool
Updated release process documentation. |
143 |
| Subject: bzr x.yy released! |
144 |
| |
|
145 |
| <<Summary paragraph from news>> |
|
146 |
| |
|
147 |
| Thanks to everyone who contributed patches, suggestions, and |
|
148 |
| feedback. |
|
149 |
| |
|
150 |
| bzr x.yy is now available for download from |
|
151 |
| http://bazaar-vcs.org/Download as a source tarball; packages |
|
152 |
| for various systems will be available soon. |
|
153 |
| |
|
154 |
| <<NEWS section from this release back to the last major release>> |
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
155 |
|
3815.1.1
by Martin Pool
Add Launchpad announcement to the release process |
156 |
#. Make an announcement through <https://launchpad.net/bzr/+announce> |
157 |
||
3778.2.2
by John Arbash Meinel
Rewrap some doc text, update the diff hunk to be accurate for current NEWS. |
158 |
#. Update the IRC channel topic. Use the ``/topic`` command to do this, |
159 |
ensuring the new topic text keeps the project name, web site link, etc. |
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
160 |
|
161 |
#. Announce on http://freshmeat.net/projects/bzr/ |
|
162 |
||
3778.2.2
by John Arbash Meinel
Rewrap some doc text, update the diff hunk to be accurate for current NEWS. |
163 |
This should be done for both release candidates and final releases. If |
164 |
you do not have a Freshmeat account yet, ask one of the existing |
|
165 |
admins. |
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
166 |
|
3778.2.2
by John Arbash Meinel
Rewrap some doc text, update the diff hunk to be accurate for current NEWS. |
167 |
#. Update http://en.wikipedia.org/wiki/Bzr -- this should be done for |
168 |
final releases but not for Release Candidates. |
|
3497.3.1
by Martin Pool
Add note to update GNU directory |
169 |
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
170 |
#. Update the python package index: <http://pypi.python.org/pypi/bzr> - best |
171 |
done by running :: |
|
172 |
||
173 |
python setup.py register |
|
174 |
||
175 |
Remember to check the results afterwards. |
|
176 |
||
3408.1.3
by Martin Pool
More release process updates |
177 |
To be able to register the release you must create an account on |
178 |
<http://pypi.python.org/pypi> and have one of the existing owners of |
|
179 |
the project add you to the group. |
|
180 |
||
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
181 |
|
3383.2.5
by Martin Pool
merge trunk |
182 |
Merging the released code back to trunk |
183 |
--------------------------------------- |
|
184 |
||
185 |
Merge the release branch back into the trunk. Check that changes in NEWS |
|
186 |
were merged into the right sections. If it's not already done, advance |
|
187 |
the version number in ``bzr`` and ``bzrlib/__init__.py``. Submit this |
|
188 |
back into pqm for bzr.dev. |
|
189 |
||
190 |
||
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
191 |
See also |
192 |
-------- |
|
193 |
||
194 |
* `Packaging into the bzr PPA <ppa.html>`_ to make and publish Ubuntu |
|
195 |
packages. |
|
3778.2.1
by Martin Pool
Updated release process documentation. |
196 |
* `Bazaar Developer Document Catalog <index.html>`_ |
197 |
* `Development cycles <cycle.html>`_: things that happen during the cycle |
|
198 |
before the actual release. |
|
199 |
||
3464.3.6
by Martin Pool
Release process updates |
200 |
|
201 |
.. |
|
3464.3.8
by Martin Pool
Doc updates re PPAs |
202 |
vim: filetype=rst textwidth=74 ai shiftwidth=4 |