1755
1755
Starting a Release
1756
1756
------------------
1758
TODO: Things to cover:
1760
* RFI on release objectives
1761
* RFI on higher risk things that are best done early, e.g. changes to file
1763
* Communication of proposed dates
1758
To start a new release cycle:
1760
#. Send mail to the list with the key dates, who will be the release
1761
manager, and the main themes or targetted bugs. Ask people to nominate
1762
objectives, or point out an high-risk things that are best done early,
1763
or that interact with other changes.
1765
#. Add a new "series" in Launchpad at <https://launchpad.net/bzr/+addseries>. There is one
1766
series for every *x.y* release.
1766
1768
Weekly Status Updates
1767
1769
---------------------
1790
1792
.. TODO: Still needs more clarity on what's in a RC versus a final
1795
.. TODO: Too much of this is manual but could be automated...
1793
1797
This is the procedure for making a new bzr release:
1795
1799
#. If the release is the first candidate, make a new branch in PQM. (Contact RobertCollins for this step).
1863
1867
cd /tmp && tar czf bzr-<version>.tar.gz bzr-<version>
1865
#. Sign the tarball with e.g. ``gpg --detach-sign bzr-0.10rc1.tar.gz``
1867
#. Upload to sftp://escudero.ubuntu.com/srv/bazaar.canonical.com/www/releases/src
1868
or, add a download file in https://edge.launchpad.net/bzr/+download and use that address below...
1870
#. Link from http://bazaar-vcs.org/Download
1869
#. Sign the tarball with e.g. ``gpg --detach-sign -a bzr-0.10rc1.tar.gz``
1872
Publishing the release
1873
----------------------
1875
Now you have the releasable product. The next step is making it
1876
available to the world.
1878
#. In <https://launchpad.net/bzr/> click the "Release series" for this
1879
series, to take you to e.g. <https://launchpad.net/bzr/1.1>. Then
1880
click "Register a release", and add information about this release.
1882
#. Within that release, upload the source tarball and the GPG signature.
1884
(These used to also be uploaded to
1885
<sftp://escudero.ubuntu.com/srv/bazaar.canonical.com/www/releases/src>
1886
but that's not accessible to all developers, and gets some mime types
1889
#. Link from http://bazaar-vcs.org/Download to the tarball and signature.
1891
#. Update http://doc.bazaar-vcs.org/ to have a directory of documentation
1892
for this release. (Controlled by the ``update-bzr-docs`` script on
1893
escudero, and also update the ``latest`` symlink in
1894
``/srv/bazaar.canonical.com/doc/``.)
1896
#. Announce on the `Bazaar home page`__
1898
__ http://bazaar-vcs.org/
1901
Announcing the release
1902
----------------------
1904
Now that the release is publicly available, tell people about it.
1872
1906
#. Announce to ``bazaar-announce`` and ``bazaar`` mailing lists.
1873
1907
The announce mail will look something like this:
1888
1922
| Many thanks to all the contributors to this release! I've included the
1889
1923
| contents of NEWS for VERSION below:
1891
To generate the data from NEWS, just copy and paste the relevant news section and clean it up as appropriate. The main clean-up task is to confirm that all major changes are indeed covered. This can be done by running ``bzr log`` back to the point when the branch was opened and cross checking the changes against the NEWS entries.
1893
* For point releases (i.e. a release candidate, or an incremental fix to a released version) take everything in the relevant NEWS secion : for 0.11rc2 take everything in NEWS from the bzr 0.11rc2 line to the bzr 0.11rc1 line further down.
1894
* For major releases (i.e. 0.11, 0.12 etc), take all the combined NEWS sections from within that version: for 0.11 take all of the 0.11 specific section, plus 0.11rc2, plus 0.11rc1 etc.
1896
#. Announce on the `Bazaar home page`__
1898
__ http://bazaar-vcs.org/
1925
To generate the data from NEWS, just copy and paste the relevant news section and clean it up as appropriate. The main clean-up task is to confirm that all major changes are indeed covered. This can be done by running ``bzr log`` back to the point when the branch was opened and cross checking the changes against the NEWS entries.
1927
(RC announcements should remind plugin maintainers to update their plugins.)
1929
* For point releases (i.e. a release candidate, or an incremental fix to a released version) take everything in the relevant NEWS secion : for 0.11rc2 take everything in NEWS from the bzr 0.11rc2 line to the bzr 0.11rc1 line further down.
1931
* For major releases (i.e. 0.11, 0.12 etc), take all the combined NEWS sections from within that version: for 0.11 take all of the 0.11 specific section, plus 0.11rc2, plus 0.11rc1 etc.
1900
1933
#. Update the `news side menu`__ -- this currently requires downloading the file, editing it, deleting it, and uploading a replacement.
1902
__ http://bazaar-vcs.org/site/menu?action=AttachFile&do=view&target=news.html
1935
__ http://bazaar-vcs.org/site/menu?action=AttachFile&do=view&target=news.html
1904
1937
#. Update the IRC channel topic. Use the ``/topic`` command to do this, ensuring the new topic text keeps the project name, web site link, etc.
1910
1943
#. Update http://en.wikipedia.org/wiki/Bzr -- this should be done for final releases but not Release Candidates.
1912
#. Update https://launchpad.net/products/bzr/ -- add a release on the right series for the product.
1914
#. Update http://doc.bazaar-vcs.org/
1916
**TODO** Explain how.
1918
1945
#. Package maintainers should update packages when they see the
1921
#. RC announcements should remind plugin maintainers to update their
1924
1948
#. Blog about it.
1926
1950
#. Post to http://mail.python.org/mailman/listinfo/python-announce-list for major releases
1928
#. Update the python package index: http://pypi.python.org/pypi/bzr
1952
#. Update the python package index: <http://pypi.python.org/pypi/bzr> - best
1955
python setup.py register
1957
Remember to check the results afterwards.
1931
1960
Making Win32 installers
1932
1961
-----------------------
1963
**XXX:** This information is now probably obsolete, as Alexander uploads
1964
direct to Launchpad. --mbp 20080116
1934
1966
Alexander Belchenko has been very good about getting packaged installers compiled (see Win32ReleaseChecklist for details). He generally e-mails John Arbash Meinel when they are ready. This is just a brief checklist of what needs to be done.
1936
1968
#. Download and verify the sha1 sums and gpg signatures. Frequently the sha1 files are in dos mode, and need to be converted to unix mode (strip off the trailing ``\r``) before they veryify correctly.
1970
#. Upload to the Launchpad page for this release.
1938
1972
#. Upload to escudero (to the b.c.c/www/releases/win32 directory) using sftp, lftp or rsync
1940
1974
#. Cat the contents of the .sha1 files into the SHA1SUM.