Releases/Firefox 11.0b6/BuildNotes: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Created page with "=Notes About Releasing= Please update the [https://wiki.mozilla.org/index.php?title=Releases/BuildNotesTemplate Notes Template] and the [https://intranet.mozilla.org/Build:Releas...")
 
 
(25 intermediate revisions by one other user not shown)
Line 4: Line 4:
= Bugs hit =
= Bugs hit =
Enter any bugs pre-existing or newly discovered and filed during the release:
Enter any bugs pre-existing or newly discovered and filed during the release:
* {{bug|}} - description
* {{bug|732516}} - ran out of disk on win32 l10n verify builder, patch landed but not merged to production
*
* {{bug|733871}} - pushsnip failed to sync PHX


=Build Engineers=
=Build Engineers=
{name} - Tracking bug: {{bug|#}}
John Ford, Hal Wine - Tracking bug: {{bug|729422}}


=Signed-off Revision(s)=
=Signed-off Revision(s)=
Build 1: [http://hg.mozilla.org/releases/mozilla-beta/rev/# #]
Build 1: [http://hg.mozilla.org/releases/mozilla-beta/rev/7b1df36b517c 7b1df36b517c]


=L10N changesets=
=L10N changesets=
Line 25: Line 25:
|-
|-
| rowspan="2" |  
| rowspan="2" |  
| MOBILE80_#_RELBRANCH, FENNEC_VERSION_RELEASE, FENNEC_VERSION_BUILD1
| MOBILE110_2012030517_RELBRANCH, FENNEC_11_0b6_BUILD1 FENNEC_11_0b6_RELEASE
| [http://hg.mozilla.org/releases/mozilla-beta/rev/# #]
| [http://hg.mozilla.org/releases/mozilla-beta/rev/377c06cd1151 377c06cd1151]
|-  
|-  
| GECKO80_#_RELBRANCH, FIREFOX_VERSION_BUILD1 FIREFOX_VERSION_RELEASE
| GECKO110_2012030517_RELBRANCH, FIREFOX_11_0b6_BUILD1 FIREFOX_11_0b6_RELEASE
| [http://hg.mozilla.org/releases/mozilla-beta/rev/# #]
| [http://hg.mozilla.org/releases/mozilla-beta/rev/d1f6bc5e555a d1f6bc5e555a]
|}
|}


Line 43: Line 43:
| rowspan="4" | 1  
| rowspan="4" | 1  
| Linux
| Linux
| rowspan="4" |  
| rowspan="4" | 20120305181207
|  
| mv-moz2-linux-ix-slave10
|  
| 1 hrs, 6 mins, 54 secs
|-
|-
| Linux64
| Linux64
|  
| moz2-linux64-slave06
|  
| 4 hrs, 5 mins, 9 secs
|-
|-
| Mac
| Mac
|  
| moz2-darwin10-slave41
|  
| 3 hrs, 14 mins, 32 secs
|-
|-
| Windows  
| Windows  
|  
| mw32-ix-slave03
|  
| 3 hrs, 27 mins, 46 secs
|}
|}


Line 68: Line 68:
| style="background:#efefef" | '''Time to build'''
| style="background:#efefef" | '''Time to build'''
|-
|-
| rowspan="2" | 1  
| 1
| android
| rowspan="2" |
|
|
|-
| android-xul
| android-xul
|  
| 20120305175836
|   
| mv-moz2-linux-ix-slave08  
| 51 mins, 45 secs
|}
|}


Line 87: Line 83:


===Preparing to start Automation===
===Preparing to start Automation===
* Set clobbers for the appropriate masters. Doing this 24-48 hours in advance should speedup the build.
* Set clobbers for any master, mozilla-beta and any builder
* Reserve slaves
* Reserve slaves
[cltbld@buildbot-master08 master]$ pwd
/builds/buildbot/build1/master
[cltbld@buildbot-master08 master]$ echo 8 > reserved_slaves_bm08-build1
* For build1 only, create a symlink for your $version (eg 11.0b4, 10.0.2esr, 10.0.2, 3.6.27) (until {{bug|725839}} is resolved)
* For build1 only, create a symlink for your $version (eg 11.0b4, 10.0.2esr, 10.0.2, 3.6.27) (until {{bug|725839}} is resolved)
  # ffxbld@stage
  # ffxbld@stage
  cd /pub/mozilla.org/firefox/nightly/
  cd /pub/mozilla.org/firefox/nightly/
  mkdir ../candidates/$version-candidates
  mkdir ../candidates/11.0b6-candidates
  ln -s ../candidates/$version-candidates $version-candidates
  ln -s ../candidates/11.0b6-candidates 11.0b6-candidates
* Update l10n changesets for desktop, mobile
* Update l10n changesets for desktop, mobile
** firefox: [https://l10n-stage-sj.mozilla.org/shipping/l10n-changesets?ms=fx11_beta_b6]
** fennec:  [https://l10n-stage-sj.mozilla.org/shipping/json-changesets?ms=fennec11_beta_b6&platforms=android%2Candroid-xul&multi_android-multilocale_repo=mobile-browser&multi_android-multilocale_rev=default&multi_android-multilocale_path=locales%2Fmaemo-locales]
* Land automation configs (are you or buildduty going to reconfig? great, merge. otherwise double-land only your configs)
* Land automation configs (are you or buildduty going to reconfig? great, merge. otherwise double-land only your configs)
* Tag buildbot-configs, buildbotcustom, & tools with build & release tags
* Tag buildbot-configs, buildbotcustom, & tools with build & release tags
hg tag -f FIREFOX_11_0b6_RELEASE FIREFOX_11_0b6_BUILD1 FENNEC_11_0b6_RELEASE FENNEC_11_0b6_BUILD1 -r 06aec21cda52
* update and reconfigure the master
* update and reconfigure the master
* start automation
* start automation
* reconfigure other masters (or ask the buildduty person to do this) <em>if you have done a merge (and not double-land) to production</em>
<pre>
cd /builds/buildbot/build1/master
source ../bin/activate
PYTHONPATH=. python ../tools/buildbot-helpers/release_sanity.py -u jhford \
-pfirefox,fennec -V 11.0b6 --branch mozilla-beta --build-number 1 \
-c release-firefox-mozilla-beta.py -c release-fennec-mozilla-beta.py \
--dryrun localhost:9001
</pre>
<pre>
PYTHONPATH=. python ../tools/buildbot-helpers/release_sanity.py -u jhford  -pfirefox,fennec -V 11.0b6 --branch mozilla-beta --build-number 1  -c release-firefox-mozilla-beta.py -c release-fennec-mozilla-beta.py  localhost:9001
</pre>


=== E-mail Metrics ===
=== E-mail Metrics ===
Use the address "metrics-alerts < AT > mozilla < PERIOD > org"
Use the address "metrics-alerts < AT > mozilla < PERIOD > org"


For 3.6.25 you would send
For 9.0b2 it would be
  Firefox,firefox,firefox,3.6.25,3.6
  Firefox,firefox,firefox,11.0b6,11.0
  Firefox,firefox,firefox,3.6.26pre,3.6
  Fennec,firefox-mobile,fennec,11.0b6,11.0


For non-3.6 releases, we need to include Fennec in the email if we build Fennec.
=== Edit rsync exclude files ===
Edit /pub/mozilla.org/zz/rsyncd-mozilla-releases.exclude on stage so that it excludes the current release. This prevents external mirrors from picking up the new release prematurely.


For 9.0b2 it would be
For rapid release betas, this is not necessary as there's already an exclude that matches beta releases.
Firefox,firefox,firefox,9.0b2,9.0
Fennec,firefox-mobile,fennec,9.0b2,9.0


And for 9.0 final it's
=== Tag ===
Firefox,firefox,firefox,9.0,9.0
no problems
Fennec,firefox-mobile,fennec,9.0,9.0


ESRs have "esr" appended to their major branch, so a 10.0.1esr would look as follows:
=== Bouncer Submitter ===
Firefox,firefox,firefox,10.0.1esr,10.0esr
no problems


=== E-mail mirrors@mozilla.org ===
=== Source ===
Not necessary for rapid release betas, files only go as far as the 'internal mirrors'.
no problems


Coordinate yourself with the person creating the ESR and the latest release which normally go out at the same time.
=== Start autosign ===
NOTE: use new signcode keys from d:/2011-keys


They want to know approximately what time push to external mirrors will occur.  Ideally this is a 24hr notice to them, with the estimated time.
<pre>
<pre>
Subject: Firefox {VERSION1} [and {VERSION2}] coming to mirrors on {DATE}
PRODUCT=firefox
Body:
VERSION=11.0b6
We're planning on pushing our Firefox {VERSION1} [and {VERSION2}] release(s) to mirrors 24 hours before {DATE}.
BUILD=1
# If this is a chemspill, please mention that in the email as it will mean pinging
TAG=FIREFOX_11_0b6_RELEASE
# for CDN to be enabled when the push to internal mirrors happens
REPO='releases/mozilla-beta'
 
EMAIL=release@mozilla.com
If you believe these releases or these dates will cause any problems,
KEYDIR=d:/2011-keys
please notify release at mozilla.com. If you have any problems with mirror
RELCONFIG=mozilla/release-firefox-mozilla-beta.py
status/weights/etc, please notify mirror-submissions at mozilla.org.
</pre>


=== Edit rsync exclude files ===
cd ${HOME}/hg-tools/
Edit /pub/mozilla.org/zz/rsyncd-mozilla-releases.exclude on stage so that it excludes the current release. This prevents external mirrors from picking up the new release prematurely.
hg pull && hg up -r ${TAG}


For rapid release betas, this is not necessary as there's already an exclude that matches beta releases.


=== Tag ===
mkdir -p ~/signing-work/${PRODUCT}-${VERSION}/lib/python
cd ~/signing-work/${PRODUCT}-${VERSION}
cp ~/hg-tools/release/signing/* .
rsync -av ~/hg-tools/lib/python/ ./lib/python/
make autosign PRODUCT=${PRODUCT} VERSION=${VERSION} BUILD=${BUILD} REPO=${REPO} EMAIL=${EMAIL} KEYDIR=${KEYDIR} RELCONFIG=${RELCONFIG}


=== Bouncer Submitter ===




=== Source ===
</pre>
 


=== Start autosign ===
This wasn't needed
NOTE: use new signcode keys from d:/2011-keys


Instructions are in [https://intranet.mozilla.org/RelEngWiki/index.php/Signing#.22autosign.22.2C_used_for_Firefox_3.6.x.2C_10.0.x.2C_and_10.0.x_ESR Signing]


=== Build ===
=== Build ===
Line 161: Line 168:


===== Firefox repacks =====
===== Firefox repacks =====
 
no problems
==== Fennec ====
==== Fennec ====


===== Fennec repacks =====
===== Fennec repacks =====
 
no problems
=== Unittests / Talos ===
=== Unittests / Talos ===
# Look to see that they ran
# Look to see that they ran
Line 174: Line 181:


====Source====
====Source====
 
failed once from an unknown cause timeout, retriggered and succeeded
====Build====
====Build====
no problem


====Signing====
====Signing====
NOTE: use new signcode keys from d:/2011-keys and QUIT SIGNCODE when you're done with keymaster
no problems
 
Follow instructions in [https://intranet.mozilla.org/Build:CombinedSigning#XULRunner_Signing XULRunner Signing] (aut required).
 
=== Partner Repack ===
==== Firefox ====
==== Fennec ====


=== Firefox Signing ===
=== Firefox Signing ===
Line 190: Line 192:


=== Android Signing ===
=== Android Signing ===
Instructions in [https://intranet.mozilla.org/Build:MobileSigning MobileSigning]
no problems


Now run on signing1.
=== L10N verify ===
=== L10N verify ===
 
all but windows worked, windows failed due to not enough disk space, was retriggered and ended up passing


=== Checksums ===
=== Checksums ===
 
no problems
=== Updates ===
=== Updates ===
no problems


==== Update verify ====
==== Update verify ====
 
no problems
=== Major Update ===
Major update generation is not kicked off automatically. You should only create them once the final builds for the "latest" build are ready.
For instance, the 3.6.26 builds got created a week before the 10.0 release but the "final" 10.0 builds were not created after few days.
 
Follow instructions from the [[Release:Release_Automation_on_Mercurial:Documentation#Major_Update_.28Firefox_only.29|Major update]] documentation.
 
==== Major Update verify ====
 
=== Reset reserved slaves ===
=== Reset reserved slaves ===
This is also a good time to QUIT SIGNCODE on keymaster if you've still got it running.
This is also a good time to QUIT SIGNCODE on keymaster if you've still got it running.
Line 219: Line 213:
=== Push to internal mirrors ===
=== Push to internal mirrors ===
This is done by automation for rapid release betas.
This is done by automation for rapid release betas.
For other releases, this should be done manually at this point, after check permissions / AV scan have completed.
* Make sure the rsync excludes have been updated ([[Releases/BuildNotesTemplate#Edit_rsync_exclude_files]])
* Force build the push to mirrors builder. Make sure at least 15 minutes have elapsed since editing the rysnc module to give it time to sync out.
[https://intranet.mozilla.org/ReleaseEngineering/Release/Primer#Mirrors_.28internal_.26_external.29 Mirrors Policy]


=== Going to Beta ===
=== Going to Beta ===
Line 236: Line 224:


==== Run backupsnip for release snippets ====
==== Run backupsnip for release snippets ====
Do this the night before release day as it can take up to two hours.
#cltbld@aus2-staging
~/bin/backupsnip Firefox-11.0b6-build1


=== Final verification ===
=== Final verification ===
=== Push index file to mirrors ===
=== Push to external mirrors ===
if this is a chemspill you will want to ping justdave (or other sysadmin) in #release-drivers
and ask them to enable CDN


=== Release Day ===
=== Release Day ===
~/bin/pushsnip Firefox-11.0b6-build1
Received the message:
<pre>Updating PHX:
Running time /usr/bin/rsync -e "ssh -i /home/cltbld/.ssh/auspush" -PaO /opt/aus2/snippets/staging/Firefox-11.0b6-build1/ ffxbld@dp-ausstage01.phx.mozilla.com:/opt/aus2/incoming/3
You don't exist, go away!
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=3.0.7]</pre>
==== Publish Fennec to the Android Market ====
==== Publish Fennec to the Android Market ====
=====Push the files=====
=====Push the files=====
Line 268: Line 258:


====Push XULRunner to Mirrors ====
====Push XULRunner to Mirrors ====
 
# xrbld@stage
==== Update XULRunner wiki page ====
rsync  -av --exclude=*.txt --exclude=*unsigned* --exclude=*-symbols.zip \
For major releases or chemspills, update the links on:
  --exclude=*.checksums --exclude=jsshell* \
* https://developer.mozilla.org/en/XULRunner
  /pub/mozilla.org/xulrunner/nightly/11.0b6-candidates/build1/ \
* https://developer.mozilla.org/en/Gecko_SDK
  /pub/mozilla.org/xulrunner/releases/11.0b6/
 
Also for older releases:
* https://developer.mozilla.org/en/XULRunner_1.9.2_Release_Notes
* https://developer.mozilla.org/en/Gecko_SDK
 
==== Push to Release Channel ====
Once there is enough uptake and we get "go" from release driver.
 
==== Update symlinks ====
Once we're signed off on the release channel.
===== Remove index.html files =====
If you created them earlier to hide the release.
 
==== Update browser choice website ====

Latest revision as of 04:29, 9 March 2012

Notes About Releasing

Please update the Notes Template and the Release:Primer for future releases (bug fixes, changes to automation) as needed

Bugs hit

Enter any bugs pre-existing or newly discovered and filed during the release:

  • bug 732516 - ran out of disk on win32 l10n verify builder, patch landed but not merged to production
  • bug 733871 - pushsnip failed to sync PHX

Build Engineers

John Ford, Hal Wine - Tracking bug: bug 729422

Signed-off Revision(s)

Build 1: 7b1df36b517c

L10N changesets

Instructions on how to get them

  • Firefox: link to the l10n-changesets
  • Fennec: link to the json

Tags

Build # Branch, Tags Changeset
MOBILE110_2012030517_RELBRANCH, FENNEC_11_0b6_BUILD1 FENNEC_11_0b6_RELEASE 377c06cd1151
GECKO110_2012030517_RELBRANCH, FIREFOX_11_0b6_BUILD1 FIREFOX_11_0b6_RELEASE d1f6bc5e555a

Build data

Firefox

Build # Type Build ID Build machine Time to build
1 Linux 20120305181207 mv-moz2-linux-ix-slave10 1 hrs, 6 mins, 54 secs
Linux64 moz2-linux64-slave06 4 hrs, 5 mins, 9 secs
Mac moz2-darwin10-slave41 3 hrs, 14 mins, 32 secs
Windows mw32-ix-slave03 3 hrs, 27 mins, 46 secs

Fennec

Build # Type Build ID Build machine Time to build
1 android-xul 20120305175836 mv-moz2-linux-ix-slave08 51 mins, 45 secs

Notes

Build 1

Syncing repos

(eg: mozilla-beta -> mozilla-release for new Firefox releases)

Diff mozconfigs

If this is a *.0 beta -> release. May also need to update the whitelist of nightly vs release differences for release sanity.

Preparing to start Automation

  • Set clobbers for any master, mozilla-beta and any builder
  • Reserve slaves
[cltbld@buildbot-master08 master]$ pwd
/builds/buildbot/build1/master
[cltbld@buildbot-master08 master]$ echo 8 > reserved_slaves_bm08-build1
  • For build1 only, create a symlink for your $version (eg 11.0b4, 10.0.2esr, 10.0.2, 3.6.27) (until bug 725839 is resolved)
# ffxbld@stage
cd /pub/mozilla.org/firefox/nightly/
mkdir ../candidates/11.0b6-candidates
ln -s ../candidates/11.0b6-candidates 11.0b6-candidates
  • Update l10n changesets for desktop, mobile
  • Land automation configs (are you or buildduty going to reconfig? great, merge. otherwise double-land only your configs)
  • Tag buildbot-configs, buildbotcustom, & tools with build & release tags
hg tag -f FIREFOX_11_0b6_RELEASE FIREFOX_11_0b6_BUILD1 FENNEC_11_0b6_RELEASE FENNEC_11_0b6_BUILD1 -r 06aec21cda52
  • update and reconfigure the master
  • start automation
cd /builds/buildbot/build1/master
source ../bin/activate
PYTHONPATH=. python ../tools/buildbot-helpers/release_sanity.py -u jhford \
 -pfirefox,fennec -V 11.0b6 --branch mozilla-beta --build-number 1 \
 -c release-firefox-mozilla-beta.py -c release-fennec-mozilla-beta.py \
 --dryrun localhost:9001
PYTHONPATH=. python ../tools/buildbot-helpers/release_sanity.py -u jhford  -pfirefox,fennec -V 11.0b6 --branch mozilla-beta --build-number 1  -c release-firefox-mozilla-beta.py -c release-fennec-mozilla-beta.py  localhost:9001

E-mail Metrics

Use the address "metrics-alerts < AT > mozilla < PERIOD > org"

For 9.0b2 it would be

Firefox,firefox,firefox,11.0b6,11.0
Fennec,firefox-mobile,fennec,11.0b6,11.0

Edit rsync exclude files

Edit /pub/mozilla.org/zz/rsyncd-mozilla-releases.exclude on stage so that it excludes the current release. This prevents external mirrors from picking up the new release prematurely.

For rapid release betas, this is not necessary as there's already an exclude that matches beta releases.

Tag

no problems

Bouncer Submitter

no problems

Source

no problems

Start autosign

NOTE: use new signcode keys from d:/2011-keys

PRODUCT=firefox
VERSION=11.0b6
BUILD=1
TAG=FIREFOX_11_0b6_RELEASE
REPO='releases/mozilla-beta'
EMAIL=release@mozilla.com
KEYDIR=d:/2011-keys
RELCONFIG=mozilla/release-firefox-mozilla-beta.py

cd ${HOME}/hg-tools/
hg pull && hg up -r ${TAG}


mkdir -p ~/signing-work/${PRODUCT}-${VERSION}/lib/python
cd ~/signing-work/${PRODUCT}-${VERSION}
cp ~/hg-tools/release/signing/* .
rsync -av ~/hg-tools/lib/python/ ./lib/python/
make autosign PRODUCT=${PRODUCT} VERSION=${VERSION} BUILD=${BUILD} REPO=${REPO} EMAIL=${EMAIL} KEYDIR=${KEYDIR} RELCONFIG=${RELCONFIG}



This wasn't needed


Build

Firefox

Firefox repacks

no problems

Fennec

Fennec repacks

no problems

Unittests / Talos

  1. Look to see that they ran
  2. Document any oranges (per platform) for unittests - if possible, try to confirm it's known/random
  3. Make sure there's no red/failures that we need to have a dev look at

XULRunner

Source

failed once from an unknown cause timeout, retriggered and succeeded

Build

no problem

Signing

no problems

Firefox Signing

Android Signing

no problems

L10N verify

all but windows worked, windows failed due to not enough disk space, was retriggered and ended up passing

Checksums

no problems

Updates

no problems

Update verify

no problems

Reset reserved slaves

This is also a good time to QUIT SIGNCODE on keymaster if you've still got it running.

Check permissions / AV scan

It is supposed to be triggered automatically after updates are done. File a bug if it doesn't.

Push to internal mirrors

This is done by automation for rapid release betas.

Going to Beta

Run backupsnip

NOTE: Remember to do this at least an hour ahead of the expected "go to beta" email.

Push to beta

Before Release Day

Assuming this is not a chemspill.

Run backupsnip for release snippets

#cltbld@aus2-staging
~/bin/backupsnip Firefox-11.0b6-build1

Final verification

Release Day

~/bin/pushsnip Firefox-11.0b6-build1

Received the message:

Updating PHX:
Running time /usr/bin/rsync -e "ssh -i /home/cltbld/.ssh/auspush" -PaO /opt/aus2/snippets/staging/Firefox-11.0b6-build1/ ffxbld@dp-ausstage01.phx.mozilla.com:/opt/aus2/incoming/3
You don't exist, go away!
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=3.0.7]

Publish Fennec to the Android Market

Push the files
  • Use this script and run it as ffxbld@stage (please push you changes prior to using it)
Android Market

IMPORTANT - Make sure to follow instructions!

  • download multi apk (e.g. multi/fennec-10.0b6.multi.android-arm.apk)
  • visit https://market.android.com/publish
  • choose "Firefox Beta" or "Firefox"
  • select the "APK Files" tab and choose "Upload APK"
    • choose the multi apk that you downloaded and hit "upload"
      • NOTE: the progress bar does not seem to show progress (at least on Google Chrome)
    • when it finishes uploading, verify VersionCode is the build date (almost anyway, the market reports an hour later than our buildID)
    • hit "Save"
  • activate new apk (You should see an Error message since both apk's are active)
  • deactivate old apk (You should not see the Error message anymore)
  • hit "Save"
  • If this is a beta 1, go to "Product Details" tab -> Recent Changes, change the url to http://www.mozilla.com/en-US/mobile/{VERSION}beta/releasenotes/
    • and hit "Save"

Push XULRunner to Mirrors

# xrbld@stage
rsync  -av --exclude=*.txt --exclude=*unsigned* --exclude=*-symbols.zip \
 --exclude=*.checksums --exclude=jsshell* \
 /pub/mozilla.org/xulrunner/nightly/11.0b6-candidates/build1/ \
 /pub/mozilla.org/xulrunner/releases/11.0b6/