Releases/Fennec 5.0b2/BuildNotes
Contents
Build Engineers
lsblakk - bug 657534
Bugs encountered
Signed-off Revision(s)
Build # | mozilla-beta | mozilla-mobile-5.0 | mobile-5.0 |
build 1 | 2b3275216413 | bcee0240fb3d | f1ffec845642 |
Tags
Build # | Tag | Moz Changeset | Mobile Changeset |
build 1 | GECKO50b2_20110517_RELBRANCH | 294c0ae7e546 | 19dca3f7b59e |
FENNEC_5_0b2_RELEASE, FENNEC_5_0b2_BUILD1 | 7cc870162042 | 7d60b014a2b0 |
Build data
Build # | Type | Build ID | Build machine |
build 1 | Android | 20110517210224 | mv-moz2-linux-ix-slave20 |
Maemo5-GTK | 20110517201152 | mv-moz2-linux-ix-slave19 | |
Linux | 20110517211259 | mv-moz2-linux-ix-slave18 | |
Mac | 20110517235604 | moz2-darwin9-slave20 | |
Windows | 20110517223911 | win32-slave46 |
Notes
Be very careful if you merge on a build > 1 to not overwrite confvars.sh
Build 1
Setup
Repos
To prepare the split repos I tried to run:
hg clone http://hg.mozilla.org/releases/mozilla-mobile-5.0 hg clone http://hg.mozilla.org/releases/mobile-5.0 cd mozilla-mobile-5.0 hg pull http://hg.mozilla.org/releases/mozilla-beta -r 2b3275216413 hg up hg push -e 'ssh -i ~/.ssh/ffxbld_dsa -l ffxbld' ssh://hg.mozilla.org/releases/mozilla-mobile-5.0 hg ident hg branch hg branch 5.0b2_build1 cd ../mobile-5.0 hg branch hg branch 5.0b2_build1 cd ../mozilla-mobile-5.0/mobile rsync -av . ../../mobile-5.0/. cd ../../mobile-5.0 hg addremove hg commit hg push -e 'ssh -i ~/.ssh/ffxbld_dsa -l ffxbld' ssh://hg.mozilla.org/releases/mobile-5.0 cd ../mozilla-mobile-5.0 hg rm mobile hg commit hg push -f -e 'ssh -i ~/.ssh/ffxbld_dsa -l ffxbld' ssh://hg.mozilla.org/releases/mozilla-mobile-5.0
Which failed, resulted in an empty changeset on mobile-5.0 and I had to re-do manually. Next time add -m "commit message" to the commits and -f to the pushes to hg to force.
l10n changesets
dashboard changesets - though I actually committed them without the single locale 'android' platform listed (config patch).
Start
- Landed config
- Landed mozharness debsign bumps
- Pulled & updated /tools/buildbotcustom/buildbotcustom because of changes jhford landed
- reconfig'd master
- Checked that slaves were allocated (still there from 5.0b1 -- added "return builders" section to end of notes)
- First sendchange failed right away due to forgetting to clobber the builders (clobbered mv-moz2-linux-ix-slave20 /builds/slave/mobile_* and got the source dir too)
- Second sendchange:
buildbot sendchange --user lsblakk --master localhost:9010 --branch=releases/mobile-5.0 "Fennec 5.0b2 build1" doit
Tag
No problems mv-moz2-linux-ix-slave20
- Tagged buildbot-configs/buildbotcustom/mozharness/tools with FENNEC_5_0b2_RELEASE and FENNEC_5_0b2_BUILD1
Source
No problems mv-moz2-linux-ix-slave18
Build/Repack
No problems on builds see Build Data Table
repack
Aki noticed the Maemo5 GTK single-locale repacks all failed (mv-moz2-linux-ix-slave19).
Looking at the buildbot logs, the first repack didn't clone; it pulled in an existing repo. This is problematic after a version change as it saved the previous results from configure; this means the |make wget-en-US| looked for fennec-5.0a2.en-US.linux-gnueabi-arm.tar.bz2 instead of fennec-5.0.en-US.linux-gnueabi-arm.tar.bz2 .
Aki clobbered mv-moz2-linux-ix-slave19:/scratchbox/users/cltbld/home/cltbld/build/mozilla-mobile-5.0-maemo5-gtk-l10n-release and retriggered via force build (en_revision FENNEC_5_0b2_RELEASE, l10n_revision FENNEC_5_0b2_RELEASE, locale ___). Some locales weren't repacked even in this second round so Lukas went around against and forced build on the missing locales.
Sign Android
Created /home/ftp/pub/mozilla.org/mobile/candidates/5.0b2-candidates/build1/android-r7 as ffxbld@stage.m.o and then ran the sign_android.sh script in ~ on keymaster, with the variables updated.
export VERSION=5.0b2 export PRODUCT=fennec export BUILD=build1 # on keymaster in ~/signing-work cd ~/signing-work mkdir $PRODUCT-$VERSION cd $PRODUCT-$VERSION/ # we sign both en-US and multi # need sep dirs since they are both named gecko-unsigned-unaligned.apk echo "Creating directories" mkdir -p $BUILD/en-US mkdir $BUILD/multi echo "Getting the unsigned apks" # get en-US apk cd $BUILD/en-US/ wget http://stage.mozilla.org/pub/mozilla.org/mobile/candidates/$VERSION-candidates/$BUILD/unsigned/android-r7/en-US/gecko-unsigned-unaligned.apk # get multi apk cd ../multi/ wget http://stage.mozilla.org/pub/mozilla.org/mobile/candidates/$VERSION-candidates/$BUILD/unsigned/android-r7/multi/gecko-unsigned-unaligned.apk # put the signing script in the ~/signing-work/fennec-4.0rc1/ dir echo "Copying signing script from hg-tools" cd ~/signing-work/$PRODUCT-$VERSION/ cp ~/hg-tools/release/signing/* . # copy the en-US apk up to pwd for signing -- there is a bug on this # (608432), it's because sign_android.sh relies on mozpass.py and that has to # be in the same dir as .apk to work echo "Prepare to sign en-US" cp $BUILD/en-US/gecko-unsigned-unaligned.apk . ./sign_android.sh # if any problems with signing, remove gecko-unaligned.apk and start again # signing successful? copy back to the en-US echo "en-US signed, cleaning up" mv gecko-unaligned.apk $BUILD/en-US/ # rename the fennec.apk, then move mv $PRODUCT.apk $PRODUCT-$VERSION.en-US.eabi-arm.apk mv $PRODUCT-$VERSION.en-US.eabi-arm.apk $BUILD/en-US/ # clean up any left overs rm *.apk # repeat for multi echo "Prepare to sign multi" cp $BUILD/multi/gecko-unsigned-unaligned.apk . ./sign_android.sh echo "multi signed, cleaning up" mv gecko-unaligned.apk $BUILD/multi/ mv $PRODUCT.apk $PRODUCT-$VERSION.multi.eabi-arm.apk mv $PRODUCT-$VERSION.multi.eabi-arm.apk $BUILD/multi/ rm *.apk # upload to stage cd $BUILD/ echo "Uploading signed builds" scp -i ~/.ssh/ffxbld_dsa -r * ffxbld@stage.mozilla.org:/home/ftp/pub/mobile/candidates/$VERSION-candidates/$BUILD/android-r7
Note that if you enter the keystore wrong, this still creates the fennec apk and you have to re-do it. I did this twice, third time was the charm.
Deb Repos
Triggered the mozilla-mobile-5.0 deb sign release builder, no problems.
Push Live
Copy bits to releases/
# ffxbld@stage /home/ftp/pub/mobile/releases mkdir 5.0b2 cd 5.0b2 # exclude *old* to avoid copying in the old original android apk # exclude maemo5-gtk to skip single locale repacks rsync --dry-run -av --exclude=unsigned --exclude=*.txt --exclude=*crashreporter* --exclude=*tests* --exclude=*unaligned* --exclude=*old* --exclude=maemo5-gtk ../../candidates/5.0b2-candidates/build1/. . rsync -av --exclude=unsigned --exclude=*.txt --exclude=*crashreporter* --exclude=*tests* --exclude=*unaligned* --exclude=*old* --exclude=maemo5-gtk ../../candidates/5.0b2-candidates/build1/. . mkdir maemo5-gtk cd maemo5-gtk rsync --dry-run -av --exclude=unsigned --exclude=*.txt --exclude=*crashreporter* --exclude=*tests* --exclude=*unaligned* --exclude=*old* ../../../candidates/5.0b2-candidates/build1/maemo5-gtk/multi . rsync -av --exclude=unsigned --exclude=*.txt --exclude=*crashreporter* --exclude=*tests* --exclude=*unaligned* --exclude=*old* --exclude=maemo5-gtk ../../../candidates/5.0b2-candidates/build1/maemo5-gtk/multi . cd .. # and repos mkdir repos rsync -av --exclude=*.install ../../candidates/5.0b2-candidates/repos/ repos/ # symlink repos ln -s repos maemo cd .. rm latest-*; ln -s 5.0b2 latest-beta; ln -s 5.0b2 latest-alpha # link freemantle to chinook for multi deb repo # in /home/ftp/pub/mobile/releases/5.0b2/maemo/multi/dists ln -s freemantle chinook # aki copied over single-repack xpis at request cd /home/ftp/pub/mobile/candidates for i in `ls -1` ; do mkdir ../../../../releases/5.0b2/maemo5-gtk/$i; cp $i/*.xpi ../../../../releases/5.0b2/maemo5-gtk/$i/; done
Create bouncer entry for maemo
Firefox-Mobile-5.0b2 maemo /mobile/releases/maemo/:lang/firefox-beta.install
Android Market
Updated the saved Draft .apk for Firefox Beta with the necessary screenshots, localized descriptions, and published it after the official "go" email was sent out and the bits were released.
Notes on the Market
This was the first release where we took over entering the Market info. It is important to know that if you do not enter all the required fields in your initial attempt to fill out and save a Draft that it will not save anything. In the post-mortem for this release I will advise the Mobile release team to provide all the required information in a zipped folder, in ONE bug that is attached to the release tracking bug, so that the release engineer does not have to go chasing down all this information.
Checklist of what was required: For the whole app you need:
- Assets
- At least 2 screenshots - the order you upload them in is important and so the mobile team should make sure the image names reflect the order they want them in (ie: fennec_$version_#.png)
- 320 x 480, 480 x 800, 480 x 854, 1280 x 800 24 bit PNG or JPEG (no alpha)
- High Resolution Application Icon
- 512w x 512h 32 bit PNG or JPEG Maximum: 1024 KB
- Feature Graphic
- 1024w x 500h 24 bit PNG or JPEG (no alpha)
- At least 2 screenshots - the order you upload them in is important and so the mobile team should make sure the image names reflect the order they want them in (ie: fennec_$version_#.png)
Note: Promotional graphic is listed as "optional" but if you put promotional text (80 chars max) in the Listing info the graphic is no longer optional. We are also investigating where the 'Promotional Graphic' is used since the Android Market docs are vague and it's possibly related to the install view icon being very small right now. Waiting on a Promo Graphic to test out this theory - see bug 652652
For each locale (minimum is en-US):
- Listing
- Title (localized versions have this field required as well for any locale added)
- Description (same as title, required per locale)
- Recent Changes (can be localized but not required per locale)
- Promo Text (can be localized, not required but if it's there then you have to have a Promo Graphic too)
In the 'Listing' section you have to set (for the app):
- Application type: Applications
- Category : Productivity
- Price is set to Free by default (account type)
You also have to set Contact Information:
- Website: http://support.mozilla.com/en-US/mobile/#os=android&browser=m4
- Email: FirefoxForAndroid@mozilla.com
Check the two consent boxes at the bottom and you should now be able to save your Draft and make adjustments as needed before publishing.
Release the Builders!
Unlock from bb07 master, and reboot them.