~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/developers/releasing.txt

  • Committer: Martin Pool
  • Date: 2009-09-14 01:48:28 UTC
  • mfrom: (4685 +trunk)
  • mto: This revision was merged to the branch mainline in revision 4688.
  • Revision ID: mbp@sourcefrog.net-20090914014828-ydr9rlkdfq2sv57z
Merge news

Show diffs side-by-side

added added

removed removed

Lines of Context:
9
9
 
10
10
.. contents::
11
11
 
 
12
 
 
13
Preconditions
 
14
-------------
 
15
 
 
16
#. Download the pqm plugin and install it into your ``~/.bazaar/plugins``::
 
17
 
 
18
     bzr branch lp:bzr-pqm ~/.bazaar/plugins/pqm
 
19
 
 
20
 
 
21
Starting a cycle
 
22
----------------
 
23
 
 
24
To start a new release cycle:
 
25
 
 
26
#. Create a new series at <https://launchpad.net/bzr/+addseries>. There is one
 
27
   series for every *x.y* release.
 
28
 
 
29
#. Go to the series web page at <https://launchpad.net/bzr/2.0>
 
30
 
 
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.
 
35
 
 
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.
 
41
 
 
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.
 
45
 
 
46
#. Update the version number in the ``bzr`` script, and the
 
47
   ``bzrlib/__init__.py`` file.
 
48
 
 
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.
 
54
 
 
55
 
 
56
Starting the release phase
 
57
--------------------------
 
58
 
 
59
When it's time to make the first beta release or release candidate:
 
60
 
 
61
#. Create a new milestone at <https://launchpad.net/bzr/2.0/+addmilestone>
 
62
   for the beta release or release candidate.
 
63
 
 
64
#. Make a beta release or release candidate.
 
65
 
12
66
Preparing the tree for release
13
67
------------------------------
14
68
 
15
 
.. Was previously at http://bazaar-vcs.org/ReleaseChecklist
16
 
 
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.) ::
19
71
 
20
72
     bzr branch trunk prepare-1.14
21
73
 
22
 
#. Download the pqm plugin and install it into your ``~/.bazaar/plugins``::
23
 
 
24
 
     bzr branch lp:bzr-pqm ~/.bazaar/plugins/pqm
25
 
 
26
74
#. Configure pqm-submit for this branch, with a section like this in
27
75
   ``~/.bazaar/locations.conf``::
28
76
 
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
35
83
 
36
84
    Please see <http://doc.bazaar-vcs.org/latest/developers/HACKING.html#an-overview-of-pqm>
37
85
    for more details on PQM
38
86
 
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``.
 
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
 
42
100
 
43
101
#. Add the date and release number to ``./NEWS``
44
102
 
47
105
 
48
106
     ./tools/check-newsbugs.py NEWS
49
107
 
 
108
   (But note there can be some false positives, and this script may be
 
109
   flaky <https://bugs.edge.launchpad.net/bzr/+bug/354985>.  Don't let
 
110
   this slow you down too much.)
 
111
 
50
112
#. Summarize into one or two paragraphs what's new in this release.
51
113
 
52
114
#. Commit these changes to the release branch, using a command like::
119
181
 
120
182
     make check-dist-tarball
121
183
 
 
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
 
188
   failures.
 
189
 
122
190
 
123
191
Publishing the release
124
192
----------------------
125
193
 
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.
128
196
 
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.
 
197
go to the release
132
198
 
133
199
#. Within that release, upload the source tarball and zipfile and the GPG
134
200
   signature.  Or, if you prefer, use the
138
204
 
139
205
#. Announce on the `Bazaar home page <http://bazaar-vcs.org/>`_.
140
206
 
141
 
#. Check that the documentation for this release is available in 
142
 
   <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
143
209
   branch is created, by a cron script ``update-bzr-docs`` on
144
 
   ``escudero``.
 
210
   ``escudero``. As of today (2009-08-27) ``igc`` manually updates the
 
211
   pretty version of it.
145
212
 
146
213
 
147
214
Announcing the release
151
218
 
152
219
#. Make an announcement mail.
153
220
 
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.
 
223
 
 
224
   Once the installers are available, the mail can be sent to the
 
225
   ``bazaar-announce`` list too.
 
226
 
 
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``.  
 
229
 
 
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.
160
232
 
161
233
   The announce mail will look something like this::
162
234
   
186
258
 
187
259
#. Announce on http://freshmeat.net/projects/bzr/
188
260
   
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
191
 
   admins.
 
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
 
263
   existing admins.
192
264
 
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.
195
267
 
196
268
#. Update the python package index: <http://pypi.python.org/pypi/bzr> - best
197
269
   done by running ::