18
18
bzr branch lp:bzr-pqm ~/.bazaar/plugins/pqm
20
Starting the release phase
21
--------------------------
23
When it's time to make the release candidate:
24
To start a new release cycle:
26
#. Create a new series at <https://launchpad.net/bzr/+addseries>. There is one
27
series for every *x.y* release.
29
#. Go to the series web page at <https://launchpad.net/bzr/2.0>
31
#. Create a new release at
32
<https://launchpad.net/bzr/2.0/+addrelease> and add
33
information about this release. We will not use it yet, but it
34
will be available for targeting or nominating bugs.
25
36
#. We create a new pqm-controlled branch for this release series, by
26
37
asking a Canonical sysadmin.
27
This branch means that from the first release candidate onwards,
38
This branch means that from the first release beta or candidate onwards,
28
39
general development continues on the trunk, and only
29
specifically-targetted fixes go into the release.
31
#. Register the branch at <https://launchpad.net/products/bzr/+addbranch>
33
#. Make a release candidate.
40
specifically-targeted fixes go into the release branch.
42
#. Add milestones at <https://edge.launchpad.net/bzr/2.0/+addmilestone> to
43
that series for the beta release, release candidate and the final release,
44
and their expected dates.
46
#. Update the version number in the ``bzr`` script, and the
47
``bzrlib/__init__.py`` file.
49
#. Send mail to the list with the key dates, who will be the release
50
manager, and the main themes or targeted bugs. Ask people to nominate
51
objectives, or point out any high-risk things that are best done early,
52
or that interact with other changes. This is called the metronome mail
53
and as RM you're supposed to send other metronome mails at your rythm.
56
Starting the release phase
57
--------------------------
59
When it's time to make the first beta release or release candidate:
61
#. Create a new milestone at <https://launchpad.net/bzr/2.0/+addmilestone>
62
for the beta release or release candidate.
64
#. Make a beta release or release candidate.
36
66
Preparing the tree for release
37
67
------------------------------
47
77
[/home/mbp/bzr/prepare-1.14]
48
78
pqm_email = Canonical PQM <pqm@bazaar-vcs.org>
49
submit_branch = http://bazaar-vcs.org/bzr/bzr.1.14
50
public_branch = http://bazaar.your-domain.com/bzr
79
submit_branch = lp:bzr/2.0
80
public_branch = http://bazaar.example.com/prepare-2.0
51
81
submit_to = bazaar@lists.canonical.com
52
smtp_server = mail.your-domain.com:25
82
smtp_server = mail.example.com:25
54
84
Please see <http://doc.bazaar-vcs.org/latest/developers/HACKING.html#an-overview-of-pqm>
55
85
for more details on PQM
57
87
#. In the release branch, update ``version_info`` in ``./bzrlib/__init__.py``.
58
88
Double check that ./bzr ``_script_version`` matches ``version_info``. Check
59
the output of ``bzr --version``.
89
the output of ``bzr --version``.
91
For beta releases use::
93
version_info = (2, 1, 0, 'beta', 1)
96
For release candidates use::
98
version_info = (2, 0, 1, 'candidate', 1)
61
101
#. Add the date and release number to ``./NEWS``
142
182
make check-dist-tarball
184
You may encounter failures while running the test suite caused
185
by your locally installed plugins. Use your own judgment to
186
decide if you can release with these failures. When in doubt,
187
disable the faulty plugins one by one until you get no more
145
191
Publishing the release
146
192
----------------------
148
Now you have the releasable product. The next step is making it
194
Now you have the beta or releasable product. The next step is making it
149
195
available to the world.
151
#. In <https://launchpad.net/bzr/> click the "Release series" for this
152
series, to take you to e.g. <https://launchpad.net/bzr/1.14>. Then
153
click "Register a release", and add information about this release.
155
199
#. Within that release, upload the source tarball and zipfile and the GPG
156
200
signature. Or, if you prefer, use the
161
205
#. Announce on the `Bazaar home page <http://bazaar-vcs.org/>`_.
163
#. Check that the documentation for this release is available in
164
<http://doc.bazaar-vcs.org>. It should be automatically build when the
207
#. Check that the documentation for this release is available in
208
<http://doc.bazaar-vcs.org>. It should be automatically build when the
165
209
branch is created, by a cron script ``update-bzr-docs`` on
210
``escudero``. As of today (2009-08-27) ``igc`` manually updates the
211
pretty version of it.
169
214
Announcing the release
174
219
#. Make an announcement mail.
176
For release candidates, this is sent to the ``bazaar-announce`` and
177
``bazaar`` lists. For final releases, it should also be cc'd to
178
``info-gnu@gnu.org``, ``python-announce-list@python.org``,
179
``bug-directory@gnu.org``. In both cases, it is good to set
180
``Reply-To: bazaar@lists.canonical.com``, so that people who reply to
181
the announcement don't spam other lists.
221
For release candidates or beta releases, this is sent to the ``bazaar``
222
list only to inform plugin authors and package or installer managers.
224
Once the installers are available, the mail can be sent to the
225
``bazaar-announce`` list too.
227
For final releases, it should also be cc'd to ``info-gnu@gnu.org``,
228
``python-announce-list@python.org``, ``bug-directory@gnu.org``.
230
In all cases, it is good to set ``Reply-To: bazaar@lists.canonical.com``,
231
so that people who reply to the announcement don't spam other lists.
183
233
The announce mail will look something like this::
209
259
#. Announce on http://freshmeat.net/projects/bzr/
211
This should be done for both release candidates and final releases. If
212
you do not have a Freshmeat account yet, ask one of the existing
261
This should be done for beta releases, release candidates and final
262
releases. If you do not have a Freshmeat account yet, ask one of the
215
#. Update `<http://en.wikipedia.org/wiki/Bazaar_(software)>`_ -- this should be done
216
for final releases but not for Release Candidates.
265
#. Update `<http://en.wikipedia.org/wiki/Bazaar_(software)>`_ -- this should
266
be done for final releases but not for beta releases or Release Candidates.
218
268
#. Update the python package index: <http://pypi.python.org/pypi/bzr> - best
219
269
done by running ::
246
To start a new release cycle:
248
#. Send mail to the list with the key dates, who will be the release
249
manager, and the main themes or targeted bugs. Ask people to nominate
250
objectives, or point out any high-risk things that are best done early,
251
or that interact with other changes.
253
#. Add a new "series" in Launchpad at <https://launchpad.net/bzr/+addseries>.
254
There is one series for every *x.y* release.
256
#. Add milestones to that series for the release candidate and the final
257
release, and their expected dates.
259
#. Deactivate old releases and their milestones.
261
#. Update the version number in the ``bzr`` script, and the
262
``bzrlib/__init__.py`` file.