SeaMonkey:Release Process:2.6.1

From MozillaWiki
Jump to: navigation, search

« SeaMonkey 2.6

Build Harness

SeaMonkey:Release Automation


Tracking bug filed as bug 712556

Build Engineer

  • Justin Wood

Signed-off Revisions


L10n revisions according to opt-ins as taken from the sign-off tool (and pushed ship-it).


  • Have to do the same s/mac/mac64/ work as in SeaMonkey 2.1b2. Will have to look into an easier way for that
  • Going to do throttled updates (like Firefox) due to the impending holiday.


  • Made sure all build machines have clean release directories.
    • With clobberer
  • Updated buildbot-configs for l10n and configs
  • Updated and reconfigured buildmaster
  • Kicked off with the following command:
bin/buildbot sendchange --username=Callek --master=localhost:9010 --branch=releases/comm-release -c "SeaMonkey 2.6" doit
  • Tagging finished fine.
  • All Builds good.
  • All repacks good!

Update Version for stage scripts

On, modified ~/ for the current release run.


  • Our mac builds (non en-US) uploaded to mac64/ so I had to move them over to mac/ on stage, for both updates and builds.
    • Logged onto and ran sh ~/
    • which moves all mac64 files/directories to mac, and removes the mac64 dir.
  • We have no signing infrastructure for SeaMonkey right now, so I faked the signing step that is usually done after completion of builds and L10n repacks and before the update generation.
  • Logged onto and ran sh ~/

Send info to metrics

Done (metrics at mozilla dot com)


Updates and Verification

  • _l10n_verify and updates started automatically, triggered by the fake-signing.
    • L10n verification is mostly useless, since we have lots of expected changed strings.
  • Update and Update verification were both good.

Updates from 2.5 to 2.6.1

# seabld@cn-sea-qm-centos5-01 (the slave which ran the updates builder)
cd /builds/slave/rel-comm-rel-updates/build
# Download the custom patcher config
wget -O patcher-configs/mozRelease-seamonkey-branch-patcher2-8.0.cfg

# Download 2.5 complete MARs
perl --download --app=seamonkey --brand=SeaMonkey --config=patcher-configs/mozRelease-seamonkey-branch-patcher2-8.0.cfg

# Generate 2.5->2.6.1 partial mars and snippets
perl --create-patches --partial-patchlist-file=patchlist.cfg --app=seamonkey --brand=SeaMonkey --config=patcher-configs/mozRelease-seamonkey-branch-patcher2-8.0.cfg

# Fix permissions
find temp/seamonkey/2.5-2.6.1/ftp/seamonkey/nightly/2.6.1-candidates/build1 -type f -exec chmod 644 '{}' ';'
find temp/seamonkey/2.5-2.6.1/ftp/seamonkey/nightly/2.6.1-candidates/build1 -type d -exec chmod 755 '{}' ';'

# Upload 2.5-2.6.1 complete MARs
rsync -av -e 'ssh -oIdentityFile=~/.ssh/seabld_dsa' '--exclude=*complete.mar' temp/seamonkey/2.5-2.6.1/ftp/seamonkey/nightly/2.6.1-candidates/build1/update

# rsync 2.5-2.6.1 *partial* snippets  to aus2-staging (excluding complete.txt snippets)
rsync -av --exclude=complete.txt -e 'ssh -oIdentityFile=~/.ssh/seabld_dsa' temp/seamonkey/2.5-2.6.1/aus2.test/
rsync -av --exclude=complete.txt -e 'ssh -oIdentityFile=~/.ssh/seabld_dsa' temp/seamonkey/2.5-2.6.1/aus2/

Merge new snippets with the automatically generated ones on aus2-community:

# seabld@aus2-community
cd /opt/aus2/snippets/staging/
# backup the original snippets
rsync -av SeaMonkey-2.6.1-build1/ SeaMonkey-2.6.1-build1.orig/

# merge 2.5 partial snippets into the automatically generated ones
rsync -av SeaMonkey-2.6.1-2.5-build1/ SeaMonkey-2.6.1-build1/

# backupsnip and pushsnip 8.0 partial snippets for test channels
~/bin/backupsnip  SeaMonkey-2.6.1-2.5-build1-test
~/bin/pushsnip  SeaMonkey-2.6.1-2.5-build1-test

Update verify for 2.5 partial updates

  • Landed a patch which forces update verify to use partial updates for 2.5
  • tagged tools with SEAMONKEY_2_6_1_BUILD1_RUNTIME and SEAMONKEY_2_6_1_RELEASE_RUNTIME
  • Re-Triggered all update verify builders via web interface
    • Due to typo in landed patch
  • Landed new patch and retagged.
  • Re-Triggered all via web interface
  • Failed again, ran tagging command pointed at the first rev.
    • Retagged correctly this time
  • Retriggered again via web interface
  • Failed again :( Fixed to="" string properly in the landed patch.
  • Retriggered again.
  • This time everything was good
  • Reverted tools repo back to cset initially created by update automation.

Copy Language Packs

Used as documented in 2.0b1 notes to move the langpacks into the directory we want them in for release.


Used as documented in 2.0b1 notes to move the Windows zips into the directory we want them in for release.

Create Checksums

With as documented in 2.0.3 notes, created MD5SUMS and SHA1SUMS files containing all files we release - copying the README from last time and replacing the versions as needed, as well as doing the same for Linux x86_64.

Push To Mirrors

Used as documented in 2.0.3 notes to finally push the files to the public dir for mirrors to pick them up.

Push build to TrendMicro

I used the TrendMicro provided staging ftp directory to stage win32 (all locales) for them to scan, and be sure there are no false-positives.

  • Used || on stage for this.

Final Verification

Used 'Force Build' to start the final_verification builder; all tested URLs are HTTP 200 and 302 - ready for going public!


Send Announce

Send the announcement to newsgroups and about-mozilla in one e-mail.