Releases/Fennec 4.0b1/BuildNotes

From MozillaWiki
Jump to navigation Jump to search

Build Engineers

aki - bug 595977

Bugs encountered

  • bug 589985 Maemo release build uploads to wrong location for non-multilocale builds
  • bug 589986 Deb signing needs to be more flexible
  • bug 601323 Fennec desktop release builds upload to tinderbox-builds
  • bug 602329 betatest channel switch issue.
  • bug 602327 Android snippet creation needs to happen after signing

Signed-off Revision(s)

Build # mozilla-central mobile-browser
build 1 4791cfde3ca0 840649eabc3b
build 2 6bd3e0d8c5d1 7b91493b311b
build 3 54ee8240f2f9 7b91493b311b

release-fennec-2.0.py

Variable Value Special comments
mozSourceRepoRevision mozilla-central changeset
mobileSourceRepoRevision mobile-browser changeset
mozRelbranchOverride mozilla-central relbranch (after build 1) We have separate relbranchOverrides so we can create a relbranch on mozilla-central or mobile-browser at any point before build 1. (You can define a mozRelbranchOverride without defining one for l10n or mobile.)
l10nRelbranchOverride l10n-central/* relbranch (after build 1)
mobileRelbranchOverride mobile-browser relbranch (after build 1)
mergeLocales True for any localized beta or alpha. False for RC builds. Almost all releases should be localized. The exceptions would be major release alphas and early betas.
disableMultiLocale True for any non-localized build.

Build data

Build # Type Build ID Build machine
build 1 Android 20101001204052 mv-moz2-linux-ix-slave04
Maemo5-GTK 20101001194104 linux-ix-slave14
Linux 20101001204635 linux-ix-slave14
Mac 20101001203726 bm-xserve06
Windows 20101001195559 mw32-ix-slave13
build 2 Android 20101005195720 mv-moz2-linux-ix-slave14
Maemo5-GTK 20101005191355 mv-moz2-linux-ix-slave16
Linux 20101005195231 moz2-linux-slave38
Mac 20101005210655 moz2-darwin9-slave46
Windows 20101005205414 win32-slave46
build 3 Android 20101006203925 moz2-linux-slave39
Maemo5-GTK 20101006201705 moz2-linux-slave28
Linux 20101006193552 mv-moz2-linux-ix-slave15
Mac 20101006211756 moz2-darwin9-slave46
Windows 20101006195146 mw32-ix-slave20

Notes

Build 1

  • I created the relbranch manually on Sept29 (at Stuart's request), on both m-c and m-b, and bumped the mobile-browser/default-version.txt to 4.0b1.
  • Checked in Android release updates (buildbotcustom) (buildbot-configs)
  • Landed version bumps, debsign config updates, mozconfig updates here
  • Updated debsigning configs in mozharness here and bumped PRODUCTION tag
  • brought over linux-ix-slave14 to pm:8011
  • reconfiged pm:8011, then noticed jhford had been using it. Checked, nothing broken. Left a note in his build notes.
  • sent r-d email since there had been a lag since go-to-build to get ducks in a row
  • closed m-c
  • Kicked off automation with
buildbot sendchange --username aki --master=localhost:9011 --branch=mobile-browser "Fennec 4.0b1 build1" doit
  • tagged buildbot-configs and buildbotcustom with FENNEC_4_0b1_RELEASE and FENNEC_4_0b1_BUILD1
  • reconfiged pmm:8011 for deb signing

Tag

mv-moz2-linux-ix-slave04

No problems; re-opened m-c

Source

mv-moz2-linux-ix-slave04

No problems.

Build/Repack

Hit bug 589985 again; needed to move build1/fennec* and build1/maemo* to build1/maemo5-gtk/

Hit bug 601323 -- make upload on Fennec desktop is uploading to tinderbox-builds for release builds =P

Fixed by finding the tinderbox-builds directories and moving them to build1/PLATFORM

Sign Android

Followed https://intranet.mozilla.org/Build:MobileSigning ; I need to update that script and check it in when Android packaging changes.

Deb Repos

Died on non-multilocale again :(

Checked in a fix; on smm:

cd /scratchbox/users/cltbld/home/cltbld/deb-unknown #this can be any mozharness checkout
hg pull
hg up -C
# This is copied from the output from the deb signing factory,
# but with |--locale en-US| added.
scripts/signdebs.py --config-file deb_repos/4.0_release.json --work-dir deb-unknown --log-level info --platform fremantle --locale en-US

I need to fix this.

Update testing

Push Live

Copy bits to releases/
Create new .install files
Create bouncer entries
Updates to beta channel

Build 2

  • Checked in fix for release desktop fennec uploads: configs custom
  • Checked in debsign bump + tagged PRODUCTION
  • Reconfiged pm02:8010
  • Started automation with
buildbot sendchange --username aki --master=localhost:9010 --branch=mobile-browser "Fennec 4.0b1 build2" doit
  • Reconfiged production-mobile-master:8011 (debsign)
  • tagged buildbot-configs and buildbotcustom with FENNEC_4_0b1_BUILD2 and bumped FENNEC_4_0b1_RELEASE tag

Tag

moz2-linux-slave40

no issues

reopened tree

Source

moz2-linux-slave42

no problems

Build/Repack

  • maemo5-gtk uploaded to build2/ rather than build2/maemo5-gtk (bug 589985 again). Manually created the maemo5-gtk directory and moved *.* there.
  • Hit bug 601323 again.
    • linux-i686 uploaded to /pub/mozilla.org/mobile/nightly/4.0b1-candidates/build2/
cd /home/ftp/pub/mobile/candidates/4.0b1-candidates/build2
mkdir linux-i686
mv ../../../nightly/4.0b1-candidates/build2/*linux* linux-i686/
    • win32-i686 uploaded to /pub/mozilla.org/mobile/nightly/4.0b1-candidates/build2/unsigned
cd /home/ftp/pub/mobile/candidates/4.0b1-candidates/build2
mv ../../../nightly/4.0b1-candidates/build2/unsigned win32-i686
    • macosx-i686 uploaded to /pub/mozilla.org/mobile/nightly/4.0b1-candidates/build2/
cd /home/ftp/pub/mobile/candidates/4.0b1-candidates/build2
mkdir macosx-i686
mv ../../../nightly/4.0b1-candidates/build2/*mac* macosx-i686/
cd ../../../nightly
ls -lR 4.0b1-candidates
rm -rf 4.0b1-candidates

Sign Android

https://intranet.mozilla.org/Build:MobileSigning is pretty seamless, minus the dvorak switching.

This will change shortly after 4.0b1, with make upload/the disappearance of gecko-unsigned-unaligned.apk.

Deb Repos

This went awesome due to the configs having

  • "locales": ["en-US"],

which kept it from erroring out on multi and the l10n repacks, and

which kept it from looking for multi/deb_name.txt and en-US/*.deb, respectively.

In a multilocale build with single locale repacks, we'll have to undo those changes.

Update testing

  • Ran into bug 602329 betatest channel switch issue. I pushed the snippets to the beta channel since no users have any builds that can update.
  • Ran into bug 602327 (complete.txt has wrong size/hash). Updated manually.

Once I fixed the complete.txt hash/filesize on the beta channel, updates worked smoothly.

Push Live

Copy bits to releases/

ffxbld@stage

cd /home/ftp/pub/mobile/releases
mkdir 4.0b1
cd 4.0b1
rsync -av --exclude=unsigned ../../candidates/4.0b1-candidates/build2/. .
rsync -av ../../candidates/4.0b1-candidates/repos .
ln -s repos maemo
cd ..
rm latest-alpha; ln -s 4.0b1 latest-alpha
rm latest-beta; ln -s 4.0b1 latest-beta
Create new .install files

I had to create new softlinks for the Firefox-beta.install files (no longer point to chinook; point to fremantle).

cd /home/ftp/pub/mobile/releases/maemo
for locale in * ; do
  if [ $locale = "firefox.install" ] ; then
    continue
  fi
  rm $locale/firefox-beta.install
  (cd $locale; ln -s firefox-fremantle-beta.install firefox-beta.install)
done

The .install files almost all look good. We need to switch for 4.0 (firefox.install -> firefox-fremantle.install) and if we add locales, but soon these will be mostly static.

Create bouncer entries

Created Firefox-Mobile-4.0b1 maemo /mobile/releases/maemo/:lang/firefox-beta.install

Also android /mobile/releases/4.0b1/android-r7/fennec.apk

Updates to beta channel

There are no releases out there that can update. Will do this for 4.0b2.

Build 3

  • Manually clobbered moz2-linux-slave42 mobile_source due to bug 537426
  • Checked in mozharness update for deb signing here and moved PRODUCTION tag
  • Checked in config update
  • Reconfiged pm02:8010
  • Closed tree
  • Started build with
buildbot sendchange --username aki --master localhost:9010 --branch=mobile-browser "Fennec 4.0b1 build3" doit
  • Reconfiged pmm:8011 (debsign) before remembering that I didn't need to (no debsign buildbot changes), but it doesn't hurt
  • Tagged buildbotcustom and buildbot-configs with FENNEC_4_0b1_BUILD3 and moved FENNEC_4_0b1_RELEASE tag

Tag

mv-moz2-linux-ix-slave16

No problems, but the 2nd 2.0b7pre RELBRANCH gave me a total scare.

Reopened tree.

Source

moz2-linux-slave41

No problems.

Build/Repack

  • bug 601323 - desktop builds still uploading to nightly w/o platform. moved them to the right location manually.
  • bug 589985 - maemo non-multilocale still uploading to buildN/ rather than buildN/maemo5-gtk/. moved to the right location manually.

Sign Android

https://intranet.mozilla.org/Build:MobileSigning is pretty seamless, minus the dvorak switching.

This will change shortly after 4.0b1, with make upload/the disappearance of gecko-unsigned-unaligned.apk.

After uploading, I:

openssl dgst -sha512 fennec.apk
SHA512(fennec.apk)= 75276b5391b5ea98c4bc38661fb8e4995bcc4fa4c8d021a2ac8661080d576d63aa8657d840367305ef4d3fd6f26e47dab884e8101a767c88a0e754e5f37d5884

ls -l fennec.apk
-rwxr-xr-x 1 ffxbld firefox 12404946 Oct  6 20:58 fennec.apk

Then I ssh'ed to aus2-staging and

/opt/aus2/incoming/3/Fennec/4.0b1/Android_arm-eabi-gcc3/20101001204052/en-US
mv betatest beta-cck-test # try mfinkle's idea for bug 602329
vi beta-cck-test/complete.txt
# put the sha512 hash and filesize into the complete.txt
# do the same for build2

Deb Repos

  • Forced a mozilla-central deb sign release on pmm:8011, no problems.

Update testing

  • I had manually set beta-cck-test channel for build1 and build2 -> build3 (manual filesize+hash too).
  • nhirata tested build1 and build2 on beta-cck-test (see here) by setting app.partner.test = test. Worked.

Push Live

Copy bits to releases/
cd /home/ftp/pub/mobile/releases
mkdir 4.0b1-real
cd 4.0b1-real
rsync --dry-run -av --exclude=unsigned --exclude=*.txt --exclude=*crashreporter* --exclude=*tests* --exclude=*unaligned* ../../candidates/4.0b1-candidates/build3/. .
rsync -av --exclude=unsigned --exclude=*.txt --exclude=*crashreporter* --exclude=*tests* --exclude=*unaligned* ../../candidates/4.0b1-candidates/build3/. .
rsync -av ../../candidates/4.0b1-candidates/repos .
ln -s repos maemo
cd ..
rm -rf 4.0b1 # get rid of build2 to avoid confusion
rm latest-alpha latest-beta
ln -s 4.0b1-real latest-alpha
ln -s 4.0b1-real latest-beta
# hack chinook for now... long term fix later?
cd 4.0b1-real/repos/en-US/dists
ln -s fremantle chinook
Create new .install files

The .install files from build2 should be fine.

Create bouncer entries

Changed the 4.0b1 android bouncer entry to point to 4.0b1-real

Updates to beta channel

n/a for 4.0b1, will start on 4.0b2.