Instantbird/Releasing
From MozillaWiki
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
- Example of command:
- 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
- Write the announcement
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