16
#. Download the pqm plugin and install it into your ``~/.bazaar/plugins``::
18
bzr branch lp:bzr-pqm ~/.bazaar/plugins/pqm
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.
36
#. We create a new pqm-controlled branch for this release series, by
37
asking a Canonical sysadmin.
38
This branch means that from the first release beta or candidate onwards,
39
general development continues on the trunk, and only
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.
12
66
Preparing the tree for release
13
67
------------------------------
15
.. Was previously at http://bazaar-vcs.org/ReleaseChecklist
17
69
#. Make a local branch for preparing this release. (Only for the first
18
70
release in a series, otherwise you should already have a branch.) ::
20
72
bzr branch trunk prepare-1.14
22
#. Download the pqm plugin and install it into your ``~/.bazaar/plugins``::
24
bzr branch lp:bzr-pqm ~/.bazaar/plugins/pqm
26
74
#. Configure pqm-submit for this branch, with a section like this in
27
75
``~/.bazaar/locations.conf``::
29
77
[/home/mbp/bzr/prepare-1.14]
30
78
pqm_email = Canonical PQM <pqm@bazaar-vcs.org>
31
submit_branch = http://bazaar-vcs.org/bzr/bzr.1.14
32
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
33
81
submit_to = bazaar@lists.canonical.com
34
smtp_server = mail.your-domain.com:25
82
smtp_server = mail.example.com:25
36
84
Please see <http://doc.bazaar-vcs.org/latest/developers/HACKING.html#an-overview-of-pqm>
37
85
for more details on PQM
39
87
#. In the release branch, update ``version_info`` in ``./bzrlib/__init__.py``.
40
88
Double check that ./bzr ``_script_version`` matches ``version_info``. Check
41
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)
43
101
#. Add the date and release number to ``./NEWS``
120
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
123
191
Publishing the release
124
192
----------------------
126
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
127
195
available to the world.
129
#. In <https://launchpad.net/bzr/> click the "Release series" for this
130
series, to take you to e.g. <https://launchpad.net/bzr/1.14>. Then
131
click "Register a release", and add information about this release.
133
199
#. Within that release, upload the source tarball and zipfile and the GPG
134
200
signature. Or, if you prefer, use the
152
219
#. Make an announcement mail.
154
For release candidates, this is sent to the ``bazaar-announce`` and
155
``bazaar`` lists. For final releases, it should also be cc'd to
156
``info-gnu@gnu.org``, ``python-announce-list@python.org``,
157
``bug-directory@gnu.org``. In both cases, it is good to set
158
``Reply-To: bazaar@lists.canonical.com``, so that people who reply to
159
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.
161
233
The announce mail will look something like this::
187
259
#. Announce on http://freshmeat.net/projects/bzr/
189
This should be done for both release candidates and final releases. If
190
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
193
#. Update `<http://en.wikipedia.org/wiki/Bazaar_(software)>`_ -- this should be done
194
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.
196
268
#. Update the python package index: <http://pypi.python.org/pypi/bzr> - best
197
269
done by running ::