# # # patch "notes/release-checklist.txt" # from [ae6f11842e58544481b19e2db731a98b315f745a] # to [7ca9d76d29646fb910cc86b064705edf06e2ae85] # ============================================================ --- notes/release-checklist.txt ae6f11842e58544481b19e2db731a98b315f745a +++ notes/release-checklist.txt 7ca9d76d29646fb910cc86b064705edf06e2ae85 @@ -1,10 +1,19 @@ How to release a new version of monotone ---------------------------------------- -0) Make sure that the buildbot looks reasonably green. Let's not +0) Send a pre-release announcement out to address@hidden + to inform active translators that a new version of monotone + is about to be released and that their translations probably + need to be updated. It might be useful to include the current + statistics in this email: + + $ for file in $(ls po/*.po); do \ + echo -n "$file: " && msgfmt -cv $file; done + +1) Make sure that the buildbot looks reasonably green. Let's not release stuff that's known to be broken on any major platforms, eh? -1) Write user-readable release notes at the top of the NEWS file, +2) Write user-readable release notes at the top of the NEWS file, roughly following the format of existing entries. Make sure to mention any incompatibilities at the top, and generally it's a good idea to put cool new stuff above nice-but-not-as-exciting stuff. @@ -15,10 +24,10 @@ Commit your release notes, so other people can see them. -1.5) Get people to read over your release notes, it's really easy to +3) Get people to read over your release notes, it's really easy to make mistakes or have stupid grammatical errors here. -2) Check the NEWS if any changes in the automation interface have happened. +4) Check the NEWS if any changes in the automation interface have happened. Document changes in the wiki under http://monotone.ca/wiki/AutomateVersions/ by adding new commands with an 'A' marker or set a 'B' (for _B_ackwards @@ -37,7 +46,7 @@ Commit your changes. -3) Update the UPGRADE file. At the very least, bump the version +5) Update the UPGRADE file. At the very least, bump the version number in the first line. This file should always contain a complete description of how to upgrade from any version of monotone to the latest release -- you may need to tweak or remove earlier @@ -45,10 +54,10 @@ Commit your changes. -4) Double-check that INSTALL, AUTHORS, and README don't need any +6) Double-check that INSTALL, AUTHORS, and README don't need any updates. If they do, make them. -5) Update version numbers. The following files need to be touched: +7) Update version numbers. The following files need to be touched: configure.ac: change the call to AC_INIT win32/monotone.iss: look out for "#define APPVERS" visualc/config.h: the version number is mentioned several times, @@ -60,13 +69,13 @@ Commit your changes. -6) Okay, everything should be ready to go... double-check that: +8) Okay, everything should be ready to go... double-check that: -- you've done the above steps correctly -- you've entered the correct date at the top of the NEWS file (esp. important when you wrote the notes a few days ago so people could look them over!) -7) Build and test the source package, in a clean checkout (if you use +9) Build and test the source package, in a clean checkout (if you use your main workspace, you increase the changes of accidentally picking up weird stuff): @@ -79,42 +88,42 @@ bombs out, fix it, otherwise, SOMEDIR/monotone-.tar.gz is the source package. -8) Build docs for the website: +10) Build docs for the website: - $ tar xvzf SOMEDIR/monotone-.tar.gz - $ cd monotone- - $ ./configure - $ LANG=C make monotone.pdf html + $ tar xvzf SOMEDIR/monotone-.tar.gz + $ cd monotone- + $ ./configure + $ LANG=C make monotone.pdf html -9) Upload everything to the website (uses monotone): +11) Upload everything to the website (uses monotone): - # This requires that you have registered a SSH version 2 public key - # with the administrators of monotone.ca, currently address@hidden - # - $ mkdir - $ mv SOMEDIR/monotone-.tar.gz / - $ scp -r address@hidden:downloads/ + # This requires that you have registered a SSH version 2 public key + # with the administrators of monotone.ca, currently address@hidden + # + $ mkdir + $ mv SOMEDIR/monotone-.tar.gz / + $ scp -r address@hidden:downloads/ - # The rest is done via monotone. - # - $ mtn -d DATABASE co -b net.venge.monotone.web WEBDIR - $ cp monotone-/{NEWS,INSTALL,UPGRADE,README,monotone.pdf,monotone.html} \ - WEBDIR/ - $ rm -rf WEBDIR/docs - $ cp -r monotone-/html WEBDIR/docs + # The rest is done via monotone. + # + $ mtn -d DATABASE co -b net.venge.monotone.web WEBDIR + $ cp monotone-/{NEWS,INSTALL,UPGRADE,README,monotone.pdf,monotone.html} \ + WEBDIR/ + $ rm -rf WEBDIR/docs + $ cp -r monotone-/html WEBDIR/docs - Open WEBDIR/monotone.html, change the CSS include from "texinfo.css" to - "docs/texinfo.css" and hit save. + Open WEBDIR/monotone.html, change the CSS include from "texinfo.css" to + "docs/texinfo.css" and hit save. - $ rm WEBDIR/figures/* - $ cp monotone-/figures/*.png WEBDIR/figures/ - $ cd WEBDIR - $ mtn drop --missing - $ mtn add --unknown - $ mtn ci -m "Updates related to the release of monotone " - $ mtn sync + $ rm WEBDIR/figures/* + $ cp monotone-/figures/*.png WEBDIR/figures/ + $ cd WEBDIR + $ mtn drop --missing + $ mtn add --unknown + $ mtn ci -m "Updates related to the release of monotone " + $ mtn sync -10) Update index.html on the website to state the latest version at the +12) Update index.html on the website to state the latest version at the top, and modify the list of download links to point to the new version. @@ -123,7 +132,7 @@ $ mtn ci -m "Updates related to the release of monotone " $ mtn sync -11) Update releases.xml on the website so the RSS feed contains information +13) Update releases.xml on the website so the RSS feed contains information for the newly released version. Don't forget to update the feed's global pubDate date as well as the invididual item's pubDate and ensure you use the correct datetime format. Add an @@ -138,7 +147,7 @@ $ mtn ci -m "Updates RSS feed for monotone " $ mtn sync -12) Once you're pretty sure things have gone well, tag the source: +14) Once you're pretty sure things have gone well, tag the source: $ mtn tag monotone- @@ -146,10 +155,10 @@ $ mtn sync -13) Change the topic in the IRC channel to state the new version +15) Change the topic in the IRC channel to state the new version number. -14) Send out a release announcement. Format is something like: +16) Send out a release announcement. Format is something like: To: address@hidden CC: address@hidden @@ -161,9 +170,9 @@ -15) Submit a release announcement to freshmeat.net. +17) Submit a release announcement to freshmeat.net. -16) Note any mistakes you made and update this file accordingly for +18) Note any mistakes you made and update this file accordingly for next time. -17) Party! +19) Party!