SeaMonkey:Release Process:2.1b3

From MozillaWiki
Jump to: navigation, search

« SeaMonkey 2.1b3

Build Harness

SeaMonkey:Release Automation

Bugs

Tracking bug filed as bug 647928

Build Engineer

Justin Wood

Signed-off Revisions

comm-central
4af4a784e99c (Built with)
efa612d2641a (Updated shipped-locales and moved tags)
releases/mozilla-2.0
b5a576b9a3e0
dom-inspector
0bb7db177214
chatzilla
3cf0c028cc0a
venkmman
3cf0c028cc0a

L10n revisions according to opt-ins as listed in l10n-changesets (taken from the sign-off toolBug 647637 c#2)

Notes

  • SeaMonkey 2.1b3 is Feature and String freeze for the 2.1 series, based on Gecko 2.0 (off the releases/mozilla-2.0 branch)
  • Had to do the same s/mac/mac64/ work as in SeaMonkey 2.1b2. Will have to look into an easier way for that

Build

  • Made sure all build machines have clean release directories. (Done via clobberer, then decided I did not want to risk that still being broken, and did it manually too)
  • Updated l10n-changesets and release-config.py
  • Updated and reconfigured buildmaster
  • Kicked off with the following command:
buildbot sendchange --username=Callek --master=localhost:9010 --branch=releases/comm-1.9.1 -c "SeaMonkey 2.1b3build1" doit
  • Did the wrong --branch here, but caught that and fixed. But before I re-sent I noticed that I didn't update the buildbot branch for comm-2.0 anyway (xref)
    • Updated and Reconfigured for that.
  • Kicked off with the following command:
buildbot sendchange --username=Callek --master=localhost:9010 --branch=comm-central -c "SeaMonkey 2.1b3build1" doit
  • Had a bad cZ changeset entered (copy/paste error), fixed in new push
    • Updated and Reconfigured for that.
  • Kicked off again with the following command:
buildbot sendchange --username=Callek --master=localhost:9010 --branch=comm-central -c "SeaMonkey 2.1b3build1" doit
  • We failed three of our signed off locales, nb-NO, fi, sv-SE. Holding next steps until I get an ok to ship without them (from our l10n coordinator)
    • Got an OK from KaiRo for moving forward with this, had to update shipped-locales due to the failure here (See new cset above), I moved the tags so that we don't need a build2.

Fake tr locale

In order for bouncer/sentry to see our files, I created fake tr locale files on ftp:

mkdir "win32/tr" "linux-i686/tr" "mac/tr"
mkdir "update/win32/tr" "update/linux-i686/tr" "update/mac/tr"
touch "win32/tr/SeaMonkey Setup 2.1 Beta 3.exe" \
"linux-i686/tr/seamonkey-2.1b3.tar.bz2" \
"mac/tr/SeaMonkey%202.1%20Beta%203.dmg" \
"win32/tr/seamonkey-2.1b3.complete.mar" \
"update/linux-i686/tr/seamonkey-2.1b3.complete.mar" \
"update/mac/tr/seamonkey-2.1b3.complete.mar"
mv win32/tr/*.mar update/win32/tr

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.
    • From build1 dir: rsync -av mac64/ mac/ and rm -rf mac64
    • From updates dir: rsync -av mac64/ mac/ and rm -rf mac64
  • 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

Updates and Verification

  • _l10n_verify and updates started automatically, triggered by the fake-signing.
    • L10n verification is mostly useless, since we have many new locales, and lots of expected changed strings.
  • update completed fine
    • the Update verification was red for all platforms, due to the dropping of 4 locales that were in b2: `it`, `fi`, `nb-NO`, `sv-SE`. This is ok in this case. Everything else was fine.

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.

Update the README on FTP

The README file we copy over from 2.1b2 needed a manual Update as the PRETTYNAME with version doesn't get updated by the scripts we use. I also noticed that we still referenced PPC in that, so adjusted as well.

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!

  • With the exception of the dropped locales like above, this is acceptable and will ship anyway.

Push Updates to the beta Channel

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

~/bin/backupsnip Sea*2.1b3*build1
~/bin/pushsnip Sea*2.1b3*build1

Build 2

Noticed that we bumped the WRONG version file, so had to do a build 2.

Chmod aus updates to 700 so we don't auto-update anyone to broken b3. Did not backout any website changes or announcements. I hope to provide *real* auto-updates for this issue and announce it later.

buildbot sendchange --username=Callek --master=localhost:9010 --branch=comm-central -c "SeaMonkey 2.1b3build3" doit

After builds were all in noticed that we didn't bump the version for build 2 (Which is normal for build>1) so I updated it myself manually, and did a build3

Build 3

  • Updated configs for new c-c cset (left other repos alone)
  • Clobbered release dirs.
  • Kicked off with the following command:
buildbot sendchange --username=Callek --master=localhost:9010 --branch=comm-central -c "SeaMonkey 2.1b3build3" doit
  • Had many locale failures on the windows repacks, due to hg timeouts. I clobbered all those machines, and found a list of locales we were missing.
  • Found http://hg.mozilla.org/build/tools/file/8e1cd38b7bc8/buildbot-helpers/force_release_l10n.py which I skimmed code path to see if it would work, noticed that force-build wouldn't, so created a user repo and patch it so it works with a 0.8 based buildbot (1)
  • Created a locale list, citing only windows, and ran the forcer (See Log)
    • One locale still failed from a timeout, manually hit rebuild on buildbot waterfall

Fake tr locale

In order for bouncer/sentry to see our files, I created fake tr locale files on ftp:

mkdir "win32/tr" "linux-i686/tr" "mac/tr"
mkdir "update/win32/tr" "update/linux-i686/tr" "update/mac/tr"
touch "win32/tr/SeaMonkey Setup 2.1 Beta 3.exe" \
"linux-i686/tr/seamonkey-2.1b3.tar.bz2" \
"mac/tr/SeaMonkey 2.1 Beta 3.dmg" \
"update/win32/tr/seamonkey-2.1b3.complete.mar" \
"update/linux-i686/tr/seamonkey-2.1b3.complete.mar" \
"update/mac/tr/seamonkey-2.1b3.complete.mar"

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.
    • This time I created a mac64tomac.sh script following the setup above, I ran this script
  • 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

Updates and Verification

  • _l10n_verify and updates started automatically, triggered by the fake-signing.
    • L10n verification is mostly useless, since we have many new locales, and lots of expected changed strings.
  • update completed fine
    • the Update verification was red for all platforms, due to the dropping of 4 locales that were in b2: `it`, `fi`, `nb-NO`, `sv-SE`. This is ok in this case. Everything else was fine.

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.

  • I set the Checksum script to copy the README from the 2.1b3 release previously pushed, since I already updated that one.

Push To Mirrors

Created mirrorpush-new.sh so that we push this Build to |2.1b3-real| like was done in Firefox_3.0.19/BuildNotes so we can have the mirrors properly uptake this.

Update Bouncer for 2.1b3-real

Filed bug 648775 for the bouncer updates. Nthomas was great to fix that fast.