~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/developers/releasing.txt

  • Committer: Matt Nordhoff
  • Date: 2009-06-23 05:12:07 UTC
  • mto: This revision was merged to the branch mainline in revision 4474.
  • Revision ID: mnordhoff@mattnordhoff.com-20090623051207-fksdtbzkwtnrw9dd
Update _add_text docstrings that still referred to add_text.

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/x.y>
30
 
 
31
 
#. Create a new release at
32
 
   <https://launchpad.net/bzr/x.y/+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/x.y/+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
 
#. Make a beta release or release candidate. The milestone for this
62
 
   candidate will already exist (see Starting a cycle above).
63
 
 
64
12
Preparing the tree for release
65
13
------------------------------
66
14
 
 
15
.. Was previously at http://bazaar-vcs.org/ReleaseChecklist
 
16
 
67
17
#. Make a local branch for preparing this release.  (Only for the first 
68
18
   release in a series, otherwise you should already have a branch.) ::
69
19
 
70
20
     bzr branch trunk prepare-1.14
71
21
 
 
22
#. Download the pqm plugin and install it into your ``~/.bazaar/plugins``::
 
23
 
 
24
     bzr branch lp:bzr-pqm ~/.bazaar/plugins/pqm
 
25
 
72
26
#. Configure pqm-submit for this branch, with a section like this in
73
27
   ``~/.bazaar/locations.conf``::
74
28
 
75
29
        [/home/mbp/bzr/prepare-1.14]
76
30
        pqm_email = Canonical PQM <pqm@bazaar-vcs.org>
77
 
        submit_branch = lp:bzr/2.0
78
 
        public_branch = http://bazaar.example.com/prepare-2.0
 
31
        submit_branch = http://bazaar-vcs.org/bzr/bzr.1.14
 
32
        public_branch = http://bazaar.your-domain.com/bzr
79
33
        submit_to = bazaar@lists.canonical.com
80
 
        smtp_server = mail.example.com:25
 
34
        smtp_server = mail.your-domain.com:25
81
35
 
82
36
    Please see <http://doc.bazaar-vcs.org/latest/developers/HACKING.html#an-overview-of-pqm>
83
37
    for more details on PQM
84
38
 
85
39
#. In the release branch, update  ``version_info`` in ``./bzrlib/__init__.py``.
86
40
   Double check that ./bzr ``_script_version`` matches ``version_info``. Check
87
 
   the output of ``bzr --version``.
88
 
 
89
 
   For beta releases use::
90
 
 
91
 
       version_info = (2, 1, 0, 'beta', 1)
92
 
 
93
 
 
94
 
   For release candidates use::
95
 
 
96
 
       version_info = (2, 0, 1, 'candidate', 1)
97
 
 
 
41
   the output of ``bzr --version``. 
98
42
 
99
43
#. Add the date and release number to ``./NEWS``
100
44
 
103
47
 
104
48
     ./tools/check-newsbugs.py NEWS
105
49
 
106
 
   (But note there can be some false positives, and this script may be
107
 
   flaky <https://bugs.edge.launchpad.net/bzr/+bug/354985>.  Don't let
108
 
   this slow you down too much.)
109
 
 
110
50
#. Summarize into one or two paragraphs what's new in this release.
111
51
 
112
52
#. Commit these changes to the release branch, using a command like::
179
119
 
180
120
     make check-dist-tarball
181
121
 
182
 
   You may encounter failures while running the test suite caused
183
 
   by your locally installed plugins. Use your own judgment to
184
 
   decide if you can release with these failures. When in doubt,
185
 
   disable the faulty plugins one by one until you get no more
186
 
   failures.
187
 
 
188
122
 
189
123
Publishing the release
190
124
----------------------
191
125
 
192
 
Now you have the beta or releasable product.  The next step is making it
 
126
Now you have the releasable product.  The next step is making it
193
127
available to the world.
194
128
 
195
 
go to the release
 
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.
196
132
 
197
133
#. Within that release, upload the source tarball and zipfile and the GPG
198
134
   signature.  Or, if you prefer, use the
202
138
 
203
139
#. Announce on the `Bazaar home page <http://bazaar-vcs.org/>`_.
204
140
 
205
 
#. Check that the documentation for this release is available in
206
 
   <http://doc.bazaar-vcs.org>.  It should be automatically build when the
 
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
143
   branch is created, by a cron script ``update-bzr-docs`` on
208
 
   ``escudero``. As of today (2009-08-27) ``igc`` manually updates the
209
 
   pretty version of it.
 
144
   ``escudero``.
210
145
 
211
146
 
212
147
Announcing the release
216
151
 
217
152
#. Make an announcement mail.
218
153
 
219
 
   For release candidates or beta releases, this is sent to the ``bazaar``
220
 
   list only to inform plugin authors and package or installer managers.
221
 
 
222
 
   Once the installers are available, the mail can be sent to the
223
 
   ``bazaar-announce`` list too.
224
 
 
225
 
   For final releases, it should also be cc'd to ``info-gnu@gnu.org``,
226
 
   ``python-announce-list@python.org``, ``bug-directory@gnu.org``.  
227
 
 
228
 
   In all cases, it is good to set ``Reply-To: bazaar@lists.canonical.com``,
229
 
   so that people who reply to the announcement don't spam other lists.
230
 
 
231
 
   The announce mail will look something like this::
 
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.
 
160
 
 
161
   The announce mail will look something like this:
232
162
   
233
 
      Subject: bzr x.yy released!
234
 
      
235
 
      <<Summary paragraph from news>>
236
 
     
237
 
      The Bazaar team is happy to announce availability of a new 
238
 
      release of the bzr adaptive version control system.
239
 
      Bazaar is part of the GNU system <http://gnu.org/>.
240
 
     
241
 
      Thanks to everyone who contributed patches, suggestions, and
242
 
      feedback.
243
 
      
244
 
      Bazaar is now available for download from 
245
 
      http://bazaar-vcs.org/Download as a source tarball; packages 
246
 
      for various systems will be available soon.
247
 
      
248
 
      <<NEWS section from this release back to the last major release>>
249
 
 
250
 
   Feel free to tweak this to your taste.
 
163
    | Subject: bzr x.yy released!
 
164
    | 
 
165
    | <<Summary paragraph from news>>
 
166
    |
 
167
    | The Bazaar team is happy to announce availability of a new 
 
168
    | release of the bzr adaptive version control system.
 
169
    |
 
170
    | Thanks to everyone who contributed patches, suggestions, and
 
171
    | feedback.
 
172
    | 
 
173
    | Bazaar is now available for download from 
 
174
    | http://bazaar-vcs.org/Download as a source tarball; packages 
 
175
    | for various systems will be available soon.
 
176
    | 
 
177
    | <<NEWS section from this release back to the last major release>>
251
178
 
252
179
#. Make an announcement through <https://launchpad.net/bzr/+announce>
253
180
 
256
183
 
257
184
#. Announce on http://freshmeat.net/projects/bzr/
258
185
   
259
 
   This should be done for beta releases, release candidates and final
260
 
   releases. If you do not have a Freshmeat account yet, ask one of the
261
 
   existing admins.
 
186
   This should be done for both release candidates and final releases. If
 
187
   you do not have a Freshmeat account yet, ask one of the existing
 
188
   admins.
262
189
 
263
 
#. Update `<http://en.wikipedia.org/wiki/Bazaar_(software)>`_ -- this should
264
 
   be done for final releases but not for beta releases or Release Candidates.
 
190
#. Update `<http://en.wikipedia.org/wiki/Bazaar_(software)>`_ -- this should be done
 
191
for final releases but not for Release Candidates.
265
192
 
266
193
#. Update the python package index: <http://pypi.python.org/pypi/bzr> - best
267
194
   done by running ::