~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/developers/HACKING.txt

  • Committer: Andrew Bennetts
  • Date: 2008-01-21 23:04:54 UTC
  • mfrom: (3193 +trunk)
  • mto: This revision was merged to the branch mainline in revision 3195.
  • Revision ID: andrew.bennetts@canonical.com-20080121230454-0mdqybl4b2tte6d4
Merge from bzr.dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1755
1755
Starting a Release
1756
1756
------------------
1757
1757
 
1758
 
TODO: Things to cover:
1759
 
 
1760
 
* RFI on release objectives
1761
 
* RFI on higher risk things that are best done early, e.g. changes to file
1762
 
  format defaults
1763
 
* Communication of proposed dates
1764
 
 
 
1758
To start a new release cycle:
 
1759
 
 
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.
 
1764
 
 
1765
#. Add a new "series" in Launchpad at <https://launchpad.net/bzr/+addseries>.  There is one 
 
1766
   series for every *x.y* release.
1765
1767
 
1766
1768
Weekly Status Updates
1767
1769
---------------------
1790
1792
.. TODO: Still needs more clarity on what's in a RC versus a final
1791
1793
.. release?
1792
1794
 
 
1795
.. TODO: Too much of this is manual but could be automated...
 
1796
 
1793
1797
This is the procedure for making a new bzr release:
1794
1798
 
1795
1799
#. If the release is the first candidate, make a new branch in PQM. (Contact RobertCollins for this step).
1862
1866
   
1863
1867
     cd /tmp && tar czf bzr-<version>.tar.gz bzr-<version>
1864
1868
 
1865
 
#. Sign the tarball with e.g. ``gpg --detach-sign bzr-0.10rc1.tar.gz``
1866
 
 
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...
1869
 
 
1870
 
#. Link from http://bazaar-vcs.org/Download
 
1869
#. Sign the tarball with e.g. ``gpg --detach-sign -a bzr-0.10rc1.tar.gz``
 
1870
 
 
1871
 
 
1872
Publishing the release
 
1873
----------------------
 
1874
 
 
1875
Now you have the releasable product.  The next step is making it
 
1876
available to the world.
 
1877
 
 
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.
 
1881
 
 
1882
#. Within that release, upload the source tarball and the GPG signature.
 
1883
 
 
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
 
1887
   wrong...)
 
1888
 
 
1889
#. Link from http://bazaar-vcs.org/Download to the tarball and signature.
 
1890
 
 
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/``.)
 
1895
 
 
1896
#. Announce on the `Bazaar home page`__
 
1897
   
 
1898
 __ http://bazaar-vcs.org/
 
1899
 
 
1900
 
 
1901
Announcing the release
 
1902
----------------------
 
1903
 
 
1904
Now that the release is publicly available, tell people about it.
1871
1905
 
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:
1890
1924
 
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.
1892
 
 
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.
1895
 
 
1896
 
#. Announce on the `Bazaar home page`__
1897
 
   
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.
 
1926
 
 
1927
   (RC announcements should remind plugin maintainers to update their plugins.)
 
1928
 
 
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.
 
1930
 
 
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.
1899
1932
 
1900
1933
#. Update the `news side menu`__ -- this currently requires downloading the file, editing it, deleting it, and uploading a replacement.
1901
1934
 
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
1903
1936
 
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.
1905
1938
 
1909
1942
 
1910
1943
#. Update http://en.wikipedia.org/wiki/Bzr -- this should be done for final releases but not Release Candidates.
1911
1944
 
1912
 
#. Update https://launchpad.net/products/bzr/ -- add a release on the right series for the product.
1913
 
 
1914
 
#. Update http://doc.bazaar-vcs.org/  
1915
 
 
1916
 
   **TODO** Explain how.
1917
 
 
1918
1945
#. Package maintainers should update packages when they see the
1919
1946
   announcement.
1920
1947
 
1921
 
#. RC announcements should remind plugin maintainers to update their
1922
 
   plugins.
1923
 
 
1924
1948
#. Blog about it.
1925
1949
 
1926
1950
#. Post to http://mail.python.org/mailman/listinfo/python-announce-list for major releases
1927
1951
 
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
 
1953
   done by running ::
 
1954
 
 
1955
       python setup.py register
 
1956
 
 
1957
   Remember to check the results afterwards.
1929
1958
 
1930
1959
 
1931
1960
Making Win32 installers
1932
1961
-----------------------
1933
1962
 
 
1963
**XXX:** This information is now probably obsolete, as Alexander uploads
 
1964
direct to Launchpad.  --mbp 20080116
 
1965
 
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.
1935
1967
 
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.
1937
1969
 
 
1970
#. Upload to the Launchpad page for this release.
 
1971
 
1938
1972
#. Upload to escudero (to the b.c.c/www/releases/win32 directory) using sftp, lftp or rsync
1939
1973
 
1940
1974
#. Cat the contents of the .sha1 files into the SHA1SUM.