SeaMonkey:Release Process:2.12.1

From MozillaWiki
Jump to: navigation, search

« SeaMonkey 2.12

Build Harness

SeaMonkey:Release Automation

Bugs

Tracking bug filed as bug 788983.

Build Engineer

  • ewong (mentor: Callek)

Signed-off Revisions

releases/comm-release
 83c152887066
releases/mozilla-release
 FIREFOX_15_0_BUILD1
(GECKO150_2012082415_RELBRANCH)
dom-inspector
 [http://hg.mozilla.org/;dom-inspector
/rev/869a1de4fc3f 869a1de4fc3f]
(DOMI_2_0_13)
chatzilla
 e25c0b12b768
(SEA2_12_RELBRANCH)
venkman
 6fcfa71a2039
(SEA2_12_RELBRANCH)

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

Notes

  • Turning on automated version string bumper for 2.9.1

WE ARE HERE

Build

  • 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=ewong --master=localhost:9010 --branch=releases/comm-release -c "SeaMonkey 2.12.1build1" doit
  • Tagging Good.
  • All Builds good except macos64_build which once again chokes because of "make buildsymbols" time out.
    • Callek manually ran the rebuild
    • Callek ran the repacks manually.
  • All repacks good.

Update Version for stage scripts

On stage-old.mozilla.org, modified ~/versions.sh for the current release run.

Signing

  • 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.
  • 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 stage-old.mozilla.org and ran sh ~/fakesign.sh
  • signing good

Build 2

It was noticed that we needed a build2, we forgot to update "appVersion" when we did build 1, so we needed to bump the version manually and retag, and spin new builds. All the above was re-done for Build 2


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.

Updates from 2.11 to 2.12.1

# seabld@sea-vm-linux32-2 (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-11.0.cfg https://bugzilla.mozilla.org/attachment.cgi?id=659617
# Download 2.11 complete MARs
perl patcher2.pl --download --app=seamonkey --brand=SeaMonkey --config=patcher-configs/mozRelease-seamonkey-branch-patcher2-11.0.cfg

# Generate 2.11->2.12.1 partial mars and snippets
perl patcher2.pl --create-patches --partial-patchlist-file=patchlist.cfg --app=seamonkey --brand=SeaMonkey --config=patcher-configs/mozRelease-seamonkey-branch-patcher2-11.0.cfg

# Fix permissions
find temp/seamonkey/2.11-2.12.1/ftp/seamonkey/nightly/2.12.1-candidates/build2 -type f -exec chmod 644 '{}' ';'
find temp/seamonkey/2.11-2.12.1/ftp/seamonkey/nightly/2.12.1-candidates/build2 -type d -exec chmod 755 '{}' ';'

# Upload 2.11-2.12.1 complete MARs
rsync -av -e 'ssh -oIdentityFile=~/.ssh/seabld_dsa' '--exclude=*complete.mar' temp/seamonkey/2.11-2.12.1/ftp/seamonkey/nightly/2.12.1-candidates/build2/update seabld@stage-old.mozilla.org:/pub/mozilla.org/seamonkey/nightly/2.12.1-candidates/build2/

# rsync 2.11-2.12.1 *partial* snippets  to aus2-staging (excluding complete.txt snippets)
rsync -av --exclude=complete.txt -e 'ssh -oIdentityFile=~/.ssh/seabld_dsa' temp/seamonkey/2.11-2.12.1/aus2.test/ seabld@aus2-community.mozilla.org:/opt/aus2/snippets/staging/SeaMonkey-2.12.1-2.11-build2-test
rsync -av --exclude=complete.txt -e 'ssh -oIdentityFile=~/.ssh/seabld_dsa' temp/seamonkey/2.11-2.12.1/aus2/ seabld@aus2-community.mozilla.org:/opt/aus2/snippets/staging/SeaMonkey-2.12.1-2.11-build2

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.12.1-build2/ SeaMonkey-2.12.1-build2.orig/

# merge 2.5 partial snippets into the automatically generated ones
rsync -av SeaMonkey-2.12.1-2.11-build2/ SeaMonkey-2.12.1-build2/

# backupsnip and pushsnip 11.0 partial snippets for test channels
~/bin/backupsnip  SeaMonkey-2.12.1-2.11-build1-test
~/bin/pushsnip  SeaMonkey-2.12.1-2.11-build1-test

Copy Language Packs

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

Zipcopy

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


Create Checksums

With make-checksums.sh 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 build to TrendMicro

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

  • Used |viruspush.sh| on stage for this.
  • E-mailed our TrendMicro contact to let him know of the new version available on their FTP server.

Push To Mirrors

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


Final Verification

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

Push website updates Live

locally:

cvs up -Pd && patch -p0 < patch && cvs ci -m ....

Push Updates to the beta Channel

Once website updates are live

On aus |/opt/aus2/snippets/staging/|:

~/bin/backupsnip Sea*2.12.1-build1
~/bin/pushsnip Sea*2.12.1-build1

Send Announce

Send the announcement to newsgroups and about-mozilla.