bzr branch
http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
|
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 |
|
4634.39.36
by Ian Clatworthy
Get plain-style documentation generation working again |
6 |
`overall development cycle <http://doc.bazaar-vcs.org/developers/cycle.html>`_, |
7 |
but it's the most complex part. |
|
|
3778.2.1
by Martin Pool
Updated release process documentation. |
8 |
This document gives a checklist you can follow from start to end in one |
9 |
go. |
|
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
10 |
|
11 |
.. contents:: |
|
12 |
||
|
4584.2.1
by Martin Pool
Update release cycle doc for 6m cycles |
13 |
|
|
4632.2.1
by Martin Pool
Release docs: bzr-pqm is a precondition not part of the every-release process |
14 |
Preconditions |
15 |
------------- |
|
16 |
||
17 |
#. Download the pqm plugin and install it into your ``~/.bazaar/plugins``:: |
|
18 |
||
19 |
bzr branch lp:bzr-pqm ~/.bazaar/plugins/pqm |
|
20 |
||
|
4634.13.1
by Vincent Ladeuil
Feedback on the 2.0rc1 release. |
21 |
|
22 |
Starting a cycle |
|
23 |
---------------- |
|
24 |
||
25 |
To start a new release cycle: |
|
26 |
||
27 |
#. Create a new series at <https://launchpad.net/bzr/+addseries>. There is one |
|
28 |
series for every *x.y* release. |
|
29 |
||
|
4675.2.1
by Robert Collins
Milestones language tightning, internal consistency. |
30 |
#. Go to the series web page at <https://launchpad.net/bzr/x.y> |
|
4634.13.1
by Vincent Ladeuil
Feedback on the 2.0rc1 release. |
31 |
|
32 |
#. Create a new release at |
|
|
4675.2.1
by Robert Collins
Milestones language tightning, internal consistency. |
33 |
<https://launchpad.net/bzr/x.y/+addrelease> and add |
|
4634.13.1
by Vincent Ladeuil
Feedback on the 2.0rc1 release. |
34 |
information about this release. We will not use it yet, but it |
35 |
will be available for targeting or nominating bugs. |
|
36 |
||
|
4634.13.2
by Vincent Ladeuil
Fixed as per Martin's review. |
37 |
#. We create a new pqm-controlled branch for this release series, by |
38 |
asking a Canonical sysadmin. |
|
39 |
This branch means that from the first release beta or candidate onwards, |
|
40 |
general development continues on the trunk, and only |
|
41 |
specifically-targeted fixes go into the release branch. |
|
42 |
||
|
4675.2.1
by Robert Collins
Milestones language tightning, internal consistency. |
43 |
#. Add milestones at <https://edge.launchpad.net/bzr/x.y/+addmilestone> to |
|
4634.13.2
by Vincent Ladeuil
Fixed as per Martin's review. |
44 |
that series for the beta release, release candidate and the final release, |
45 |
and their expected dates. |
|
|
4634.13.1
by Vincent Ladeuil
Feedback on the 2.0rc1 release. |
46 |
|
47 |
#. Update the version number in the ``bzr`` script, and the |
|
|
4634.13.3
by Vincent Ladeuil
Fix rst formatting issues. |
48 |
``bzrlib/__init__.py`` file. |
|
4634.13.1
by Vincent Ladeuil
Feedback on the 2.0rc1 release. |
49 |
|
50 |
#. Send mail to the list with the key dates, who will be the release |
|
51 |
manager, and the main themes or targeted bugs. Ask people to nominate |
|
52 |
objectives, or point out any high-risk things that are best done early, |
|
|
4634.13.2
by Vincent Ladeuil
Fixed as per Martin's review. |
53 |
or that interact with other changes. This is called the metronome mail |
54 |
and as RM you're supposed to send other metronome mails at your rythm. |
|
|
4634.13.1
by Vincent Ladeuil
Feedback on the 2.0rc1 release. |
55 |
|
56 |
||
|
4584.2.1
by Martin Pool
Update release cycle doc for 6m cycles |
57 |
Starting the release phase |
58 |
-------------------------- |
|
59 |
||
|
4634.13.1
by Vincent Ladeuil
Feedback on the 2.0rc1 release. |
60 |
When it's time to make the first beta release or release candidate: |
61 |
||
|
4675.2.1
by Robert Collins
Milestones language tightning, internal consistency. |
62 |
#. Make a beta release or release candidate. The milestone for this |
63 |
candidate will already exist (see Starting a cycle above). |
|
|
4584.2.1
by Martin Pool
Update release cycle doc for 6m cycles |
64 |
|
|
3383.2.4
by Martin Pool
Trim from the release instructions things that are now automated or unnecessary |
65 |
Preparing the tree for release |
66 |
------------------------------ |
|
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
67 |
|
|
3464.3.6
by Martin Pool
Release process updates |
68 |
#. Make a local branch for preparing this release. (Only for the first |
69 |
release in a series, otherwise you should already have a branch.) :: |
|
70 |
||
|
4104.7.1
by Robert J. Tanner
Updated the releasing.html document, adding some documentation on things I had |
71 |
bzr branch trunk prepare-1.14 |
72 |
||
|
4675.2.2
by Robert Collins
Replace bazaar-vcs.org/bzr/ references with launchpad hosting urls in developer docs. |
73 |
#. Configure pqm-submit for this branch, with a section like this (where |
74 |
x.y is the version to release). |
|
|
3464.3.6
by Martin Pool
Release process updates |
75 |
``~/.bazaar/locations.conf``:: |
76 |
||
|
4675.2.2
by Robert Collins
Replace bazaar-vcs.org/bzr/ references with launchpad hosting urls in developer docs. |
77 |
[/home/mbp/bzr/prepare-x.y] |
|
3464.3.6
by Martin Pool
Release process updates |
78 |
pqm_email = Canonical PQM <pqm@bazaar-vcs.org> |
|
4675.2.2
by Robert Collins
Replace bazaar-vcs.org/bzr/ references with launchpad hosting urls in developer docs. |
79 |
submit_branch = http://bazaar.launchpad.net/~bzr-pqm/bzr/x.y |
80 |
public_branch = http://bazaar.example.com/prepare-x.y |
|
|
3464.3.6
by Martin Pool
Release process updates |
81 |
submit_to = bazaar@lists.canonical.com |
|
4634.13.2
by Vincent Ladeuil
Fixed as per Martin's review. |
82 |
smtp_server = mail.example.com:25 |
|
4104.7.1
by Robert J. Tanner
Updated the releasing.html document, adding some documentation on things I had |
83 |
|
|
4634.39.12
by Ian Clatworthy
pdf generation of the Developer Guide |
84 |
Please see <http://doc.bazaar-vcs.org/developers/HACKING.html#an-overview-of-pqm> |
|
4070.10.13
by Martin Pool
Remove or correct broken links |
85 |
for more details on PQM |
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
86 |
|
|
4152.2.7
by Robert J. Tanner
Added explicit instructions to check ./bzr _script_version ./bzrlib/__init__.py |
87 |
#. In the release branch, update ``version_info`` in ``./bzrlib/__init__.py``. |
88 |
Double check that ./bzr ``_script_version`` matches ``version_info``. Check |
|
|
4634.13.1
by Vincent Ladeuil
Feedback on the 2.0rc1 release. |
89 |
the output of ``bzr --version``. |
90 |
||
91 |
For beta releases use:: |
|
92 |
||
93 |
version_info = (2, 1, 0, 'beta', 1) |
|
94 |
||
95 |
||
96 |
For release candidates use:: |
|
97 |
||
98 |
version_info = (2, 0, 1, 'candidate', 1) |
|
99 |
||
|
3778.2.1
by Martin Pool
Updated release process documentation. |
100 |
|
101 |
#. Add the date and release number to ``./NEWS`` |
|
102 |
||
|
3966.2.6
by Jelmer Vernooij
Mention check-newsbugs.py in the release document. |
103 |
#. To check that all bugs mentioned in ``./NEWS`` are actually marked as |
104 |
closed in Launchpad, you can run ``tools/check-newsbugs.py``:: |
|
105 |
||
106 |
./tools/check-newsbugs.py NEWS |
|
107 |
||
|
4595.6.2
by Martin Pool
Guidance on using check-newsbugs when releasing |
108 |
(But note there can be some false positives, and this script may be |
|
4632.2.2
by Martin Pool
Minor ReST tweak |
109 |
flaky <https://bugs.edge.launchpad.net/bzr/+bug/354985>. Don't let |
110 |
this slow you down too much.) |
|
|
4595.6.2
by Martin Pool
Guidance on using check-newsbugs when releasing |
111 |
|
|
3778.2.1
by Martin Pool
Updated release process documentation. |
112 |
#. 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 |
113 |
|
114 |
#. Commit these changes to the release branch, using a command like:: |
|
115 |
||
|
4104.7.1
by Robert J. Tanner
Updated the releasing.html document, adding some documentation on things I had |
116 |
bzr commit -m "Release 1.14." |
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
117 |
|
118 |
The diff before you commit will be something like:: |
|
119 |
||
|
3778.2.2
by John Arbash Meinel
Rewrap some doc text, update the diff hunk to be accurate for current NEWS. |
120 |
=== modified file 'NEWS' |
121 |
--- NEWS 2008-09-17 23:09:18 +0000 |
|
122 |
+++ NEWS 2008-09-23 16:14:54 +0000 |
|
123 |
@@ -4,6 +4,23 @@ |
|
124 |
||
125 |
.. contents:: |
|
126 |
||
127 |
+bzr 1.7 2008-09-23 |
|
128 |
+------------------ |
|
129 |
+ |
|
130 |
+This release includes many bug fixes and a few performance and feature |
|
131 |
+improvements. ``bzr rm`` will now scan for missing files and remove them, |
|
132 |
+like how ``bzr add`` scans for unknown files and adds them. A bit more |
|
133 |
+polish has been applied to the stacking code. The b-tree indexing code has |
|
134 |
+been brought in, with an eye on using it in a future repository format. |
|
135 |
+There are only minor installer changes since bzr-1.7rc2. |
|
136 |
+ |
|
137 |
bzr 1.7rc2 2008-09-17 |
|
138 |
--------------------- |
|
139 |
||
140 |
||
141 |
=== modified file 'bzrlib/__init__.py' |
|
142 |
--- bzrlib/__init__.py 2008-09-16 21:39:28 +0000 |
|
143 |
+++ bzrlib/__init__.py 2008-09-23 16:14:54 +0000 |
|
144 |
@@ -41,7 +41,7 @@ |
|
145 |
# Python version 2.0 is (2, 0, 0, 'final', 0)." Additionally we use a |
|
146 |
# releaselevel of 'dev' for unreleased under-development code. |
|
147 |
||
148 |
-version_info = (1, 7, 0, 'candidate', 2) |
|
149 |
+version_info = (1, 7, 0, 'final', 0) |
|
150 |
||
151 |
||
152 |
# API compatibility version: bzrlib is currently API compatible with 1.7. |
|
153 |
||
|
4634.13.3
by Vincent Ladeuil
Fix rst formatting issues. |
154 |
#. Tag the new release:: |
|
3997.2.1
by Jelmer Vernooij
Add tagging to the release process. |
155 |
|
|
4104.7.1
by Robert J. Tanner
Updated the releasing.html document, adding some documentation on things I had |
156 |
bzr tag bzr-1.14 |
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
157 |
|
|
4152.2.2
by Robert J. Tanner
Updated to releasing.txt based on my experiences as the release manager for |
158 |
#. Push those changes to a bzr reposistory that is public and accessible on |
159 |
the Internet. PQM will pull from this repository when it attempts to merge |
|
160 |
your changes. Then submit those changes to PQM for merge into the |
|
161 |
appropriate release branch:: |
|
|
3464.3.6
by Martin Pool
Release process updates |
162 |
|
163 |
bzr push |
|
|
4104.7.1
by Robert J. Tanner
Updated the releasing.html document, adding some documentation on things I had |
164 |
bzr pqm-submit -m "(mbp) prepare 1.14" |
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
165 |
|
166 |
#. When PQM succeeds, pull down the master release branch. |
|
167 |
||
|
3464.3.6
by Martin Pool
Release process updates |
168 |
|
|
3383.2.4
by Martin Pool
Trim from the release instructions things that are now automated or unnecessary |
169 |
Making the source tarball |
170 |
------------------------- |
|
171 |
||
|
3408.1.3
by Martin Pool
More release process updates |
172 |
#. 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 |
173 |
|
174 |
make dist |
|
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
175 |
|
|
3408.1.3
by Martin Pool
More release process updates |
176 |
#. Now we'll try expanding this tarball and running the test suite |
177 |
to check for packaging problems:: |
|
178 |
||
179 |
make check-dist-tarball |
|
|
3383.2.5
by Martin Pool
merge trunk |
180 |
|
|
4634.13.1
by Vincent Ladeuil
Feedback on the 2.0rc1 release. |
181 |
You may encounter failures while running the test suite caused |
|
4634.13.2
by Vincent Ladeuil
Fixed as per Martin's review. |
182 |
by your locally installed plugins. Use your own judgment to |
|
4634.13.1
by Vincent Ladeuil
Feedback on the 2.0rc1 release. |
183 |
decide if you can release with these failures. When in doubt, |
184 |
disable the faulty plugins one by one until you get no more |
|
185 |
failures. |
|
186 |
||
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
187 |
|
|
4676.6.1
by mbp at sourcefrog
Updates to release process docs. |
188 |
Publishing the source tarball |
189 |
----------------------------- |
|
190 |
||
191 |
#. Go to the relevant milestone page in Launchpad. |
|
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
192 |
|
|
4676.7.2
by Martin Pool
Remove mention of source zip from release process doc |
193 |
#. Within that release, upload the source tarball and the GPG |
|
3778.3.3
by Martin Pool
Build zip file from 'make dist' and document this; also tweak standard announcement mail |
194 |
signature. Or, if you prefer, use the |
195 |
``tools/packaging/lp-upload-release`` script to do this. |
|
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
196 |
|
|
4676.6.1
by mbp at sourcefrog
Updates to release process docs. |
197 |
|
198 |
Announcing the source freeze |
|
199 |
---------------------------- |
|
200 |
||
201 |
#. Post to the ``bazaar`` list, saying that the source has been frozen. |
|
202 |
This is the cue for platform maintainers and plugin authors to update |
|
203 |
their code. This is done before the general public announcement of the |
|
204 |
release. |
|
205 |
||
206 |
||
207 |
Publishing the release |
|
208 |
---------------------- |
|
209 |
||
210 |
There is normally a delay of a few days after the source freeze to allow |
|
211 |
for binaries to be built on various platforms. Once they have been built, |
|
212 |
we have a releasable product. The next step is to make it generally |
|
213 |
available to the world. |
|
214 |
||
|
4634.13.1
by Vincent Ladeuil
Feedback on the 2.0rc1 release. |
215 |
go to the release |
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
216 |
|
|
3778.3.3
by Martin Pool
Build zip file from 'make dist' and document this; also tweak standard announcement mail |
217 |
#. Within that release, upload the source tarball and zipfile and the GPG |
218 |
signature. Or, if you prefer, use the |
|
219 |
``tools/packaging/lp-upload-release`` script to do this. |
|
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
220 |
|
|
4634.67.1
by Ian Clatworthy
update release documentation to mention the new website |
221 |
#. Link from http://bazaar-vcs.org/SourceDownloads to the tarball and |
222 |
signature. |
|
223 |
||
224 |
#. Announce on the `Bazaar website <http://bazaar-vcs.org/>`_. |
|
225 |
This page is edited via the lp:bzr-website branch. (Changes |
|
226 |
pushed to this branch are refreshed by a cron job on escudero.) |
|
227 |
||
228 |
#. Announce on the `Bazaar wiki <http://bazaar-vcs.org/Welcome>`_. |
|
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
229 |
|
|
4634.13.1
by Vincent Ladeuil
Feedback on the 2.0rc1 release. |
230 |
#. Check that the documentation for this release is available in |
231 |
<http://doc.bazaar-vcs.org>. It should be automatically build when the |
|
|
3778.2.1
by Martin Pool
Updated release process documentation. |
232 |
branch is created, by a cron script ``update-bzr-docs`` on |
|
4634.13.2
by Vincent Ladeuil
Fixed as per Martin's review. |
233 |
``escudero``. As of today (2009-08-27) ``igc`` manually updates the |
234 |
pretty version of it. |
|
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
235 |
|
236 |
||
237 |
Announcing the release |
|
238 |
---------------------- |
|
239 |
||
240 |
Now that the release is publicly available, tell people about it. |
|
241 |
||
|
3778.2.1
by Martin Pool
Updated release process documentation. |
242 |
#. Make an announcement mail. |
243 |
||
|
4634.13.1
by Vincent Ladeuil
Feedback on the 2.0rc1 release. |
244 |
For release candidates or beta releases, this is sent to the ``bazaar`` |
245 |
list only to inform plugin authors and package or installer managers. |
|
246 |
||
247 |
Once the installers are available, the mail can be sent to the |
|
248 |
``bazaar-announce`` list too. |
|
249 |
||
250 |
For final releases, it should also be cc'd to ``info-gnu@gnu.org``, |
|
251 |
``python-announce-list@python.org``, ``bug-directory@gnu.org``. |
|
252 |
||
253 |
In all cases, it is good to set ``Reply-To: bazaar@lists.canonical.com``, |
|
254 |
so that people who reply to the announcement don't spam other lists. |
|
|
3778.2.1
by Martin Pool
Updated release process documentation. |
255 |
|
|
4439.1.2
by Martin Pool
Change release message template to a preformatted block so you can more easily copy and paste it into a mail. |
256 |
The announce mail will look something like this:: |
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
257 |
|
|
4439.1.2
by Martin Pool
Change release message template to a preformatted block so you can more easily copy and paste it into a mail. |
258 |
Subject: bzr x.yy released! |
259 |
||
260 |
<<Summary paragraph from news>> |
|
261 |
||
262 |
The Bazaar team is happy to announce availability of a new |
|
263 |
release of the bzr adaptive version control system. |
|
|
4439.1.6
by Martin Pool
Tweak text about GNU in release template |
264 |
Bazaar is part of the GNU system <http://gnu.org/>. |
|
4439.1.2
by Martin Pool
Change release message template to a preformatted block so you can more easily copy and paste it into a mail. |
265 |
|
266 |
Thanks to everyone who contributed patches, suggestions, and |
|
267 |
feedback. |
|
268 |
||
269 |
Bazaar is now available for download from |
|
270 |
http://bazaar-vcs.org/Download as a source tarball; packages |
|
271 |
for various systems will be available soon. |
|
272 |
||
273 |
<<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 |
274 |
|
|
4439.1.1
by Martin Pool
Release mails should mention bzr's a GNU project |
275 |
Feel free to tweak this to your taste. |
276 |
||
|
3815.1.1
by Martin Pool
Add Launchpad announcement to the release process |
277 |
#. Make an announcement through <https://launchpad.net/bzr/+announce> |
278 |
||
|
3778.2.2
by John Arbash Meinel
Rewrap some doc text, update the diff hunk to be accurate for current NEWS. |
279 |
#. Update the IRC channel topic. Use the ``/topic`` command to do this, |
280 |
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 |
281 |
|
282 |
#. Announce on http://freshmeat.net/projects/bzr/ |
|
283 |
||
|
4634.13.1
by Vincent Ladeuil
Feedback on the 2.0rc1 release. |
284 |
This should be done for beta releases, release candidates and final |
285 |
releases. If you do not have a Freshmeat account yet, ask one of the |
|
286 |
existing admins. |
|
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
287 |
|
|
4634.13.1
by Vincent Ladeuil
Feedback on the 2.0rc1 release. |
288 |
#. Update `<http://en.wikipedia.org/wiki/Bazaar_(software)>`_ -- this should |
289 |
be done for final releases but not for beta releases or Release Candidates. |
|
|
3497.3.1
by Martin Pool
Add note to update GNU directory |
290 |
|
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
291 |
#. Update the python package index: <http://pypi.python.org/pypi/bzr> - best |
292 |
done by running :: |
|
293 |
||
294 |
python setup.py register |
|
295 |
||
296 |
Remember to check the results afterwards. |
|
297 |
||
|
3408.1.3
by Martin Pool
More release process updates |
298 |
To be able to register the release you must create an account on |
299 |
<http://pypi.python.org/pypi> and have one of the existing owners of |
|
300 |
the project add you to the group. |
|
301 |
||
|
3383.2.3
by Martin Pool
Separate out and update the release manager instructions |
302 |
|
|
3383.2.5
by Martin Pool
merge trunk |
303 |
Merging the released code back to trunk |
304 |
--------------------------------------- |
|
305 |
||
306 |
Merge the release branch back into the trunk. Check that changes in NEWS |
|
307 |
were merged into the right sections. If it's not already done, advance |
|
308 |
the version number in ``bzr`` and ``bzrlib/__init__.py``. Submit this |
|
309 |
back into pqm for bzr.dev. |
|
310 |
||
|
4070.10.2
by Martin Pool
doc to maintain bzr/current branch |
311 |
You should also merge (not pull) the release branch into |
312 |
``lp:~bzr/bzr/current``, so that branch contains the current released code |
|
313 |
at any time. |
|
314 |
||
|
3383.2.5
by Martin Pool
merge trunk |
315 |
|
|
3549.3.1
by Martin Pool
Updated instructions in packaging into the PPA |
316 |
See also |
317 |
-------- |
|
318 |
||
|
4070.10.3
by Martin Pool
Small ReST syntax fix |
319 |
* `Packaging into the bzr PPA <ppa.html>`_ to make and publish Ubuntu |
320 |
packages. |
|
321 |
* `Bazaar Developer Document Catalog <index.html>`_ |
|
322 |
* `Development cycles <cycle.html>`_: things that happen during the cycle |
|
323 |
before the actual release. |
|
|
3464.3.6
by Martin Pool
Release process updates |
324 |
|
325 |
.. |
|
|
3464.3.8
by Martin Pool
Doc updates re PPAs |
326 |
vim: filetype=rst textwidth=74 ai shiftwidth=4 |