Instantbird/Releasing

From MozillaWiki
Jump to: navigation, search

Preparation

  • Fix all the blocker bugs
  • Make sure we have buildbot configured to handle the release (2 lines to uncomment in ~/buildbot/main/master.cfg)
  • Create a branch for the release:
    • Remove 'pre' in the version number in the branch
    • Set the changeset ids for mozilla, venkman and inspector in client.py in the branch
    • List the ready-to-ship locales in instantbird/locales/shipped-locales and commit this file in the branch
    • Bump the version number of the trunk nightlies
  • Add the 2 new versions in socorro: Go in the ib_crashes PostgreSQL database: psql ib_crashes and execute:
INSERT INTO productdims (product, version, branch, release) VALUES ('Instantbird', '1.2', 0, 'milestone');
INSERT INTO product_visibility (productdims_id, start_date, end_date) VALUES (6, NOW(), NOW() + INTERVAL '1 year');
INSERT INTO productdims (product, version, branch, release) VALUES ('Instantbird', '1.3a1pre', 0, 'development');
INSERT INTO product_visibility (productdims_id, start_date, end_date) VALUES (7, NOW(), NOW() + INTERVAL '1 year');
where "6 and "7" need to be adapted with the ids of the rows inserted in the productdims table, then clear the cache: cd /www/instantbird/socorro/src/webapp-php/application/cache && rm -Rf *
  • Create new Target Milestone values in Bugzilla.
  • Add 2 new versions on addons.instantbird.org and update the maxVersion of 'official addons'.
    • Check "recommended" add-ons are 1) not obsolete and 2) are still expected to work with the new version.
    • Bump the maxVersion of converted Adium message themes: UPDATE `addons_users` AS AU JOIN `versions` AS V ON (AU.`addon_id` = V.`addon_id`) JOIN `applications_versions` AS AV ON (V.`id` = AV.`version_id`) SET AV.`max` = 26 WHERE AU.`user_id` = 5 where 5 is the id of the "adium" user and 26 is the id of the "1.3a1pre" version in the "appversions" table.
    • Bump maxversion on emoticon themes
  • Check that get_previous_mar.php <version number> returns the expected result.
  • Request builds from buildbot (expect ~6 hours before all the builds are ready to be tested)
  • Ask people (IRC/mailing list) to test the release candidates
    • Produce new sets of candidate builds until it's ok.
    • Make sure translators have seen the localized release candidates
  • Check that we have good symbols for all OSes
  • Check that everything is OK in the update system
    • Check that we have good partial mar files
    • Check that the localized builds send their locale id in their update requests
  • Create a source tarball: Instantbird:Create_source_tarball (expect ~70 minutes on a 100Mbps server, 9 minutes on cb3)
  • (optional) create Linux 64 bit builds.
  • Write the release notes
    • Make sure all the locales we ship are listed
    • Generate the ChangeLog
      • Example of command: (hg log -b default --rev 473:1286 && hg log -b 0.2 --rev 473:0.2 ) > ~/Sites/instantbird.com/ChangeLog-0.2 where 473 is the first revision that isn't in the previous release and 1286 is the last revision that isn't in the 0.2 branch
      • Another example: hg log -r "ancestor(1.1,1.2)::1.2" |tail +6
    • Update the FAQ
    • Ask people in IRC to proof-read
    • Commit to hg.instantbird.org/websites/www.instantbird.com
      • Give translators a few days to localize the new page.
    • Make sure the copyright year in the footer of the website is correct
  • Check that all needed documentation on the wiki is OK.
  • Move the final builds
    • Create the directory of the release
    • Create physical links between the latest release candidate of each OS, and their complete mar too (for i in ../<version>-candidates/201
    • Move the source tarball here
    • Check that the chmod of all files are correct (<code>chmod +r *</code>).
    • Create the md5sum file (<code>md5 `ls |fgrep -v .mar` > md5sum</code>).
    • rsync the builds from cb2 to ereicros (expect ~15 minutes).
    • upload the builds to Google Code (expect ~15 minutes).
  • Blog post
    • Write the announcement
      • Ensure there's something answering the "What's next?" question.
    • Ask people to proof-read

Final steps

  • hg pull/hg up on the website
    • Check that all the download links work and go to the expected mirror.
  • Change the topic of #instantbird
  • Update version flag (and possibly target milestone) on bugzilla
  • Post on the blog
  • Post on freshmeat
  • Update the timeline

Feedback

  • New bugs on bugzilla
  • Comments on the blog post
  • Emails
  • Socorro crash reports