Releases/Firefox 12.0b4/BuildNotes: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(initial copy of template)
 
No edit summary
Line 8: Line 8:


=Build Engineers=
=Build Engineers=
{name} - Tracking bug: {{bug|#}}
{hwine} - Tracking bug: {{bug|735388}}


=Signed-off Revision(s)=
=Signed-off Revision(s)=
Line 81: Line 81:
=Notes=
=Notes=
==Build 1==
==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===
===Preparing to start Automation===
* Set clobbers for the appropriate masters. Doing this 24-48 hours in advance should speedup the build.
* Set clobbers for the appropriate masters. Doing this 24-48 hours in advance should speedup the build.
Line 99: Line 94:
  # ffxbld@stage
  # ffxbld@stage
  cd /pub/mozilla.org/firefox/nightly/
  cd /pub/mozilla.org/firefox/nightly/
  mkdir ../candidates/$version-candidates
  mkdir ..G/candidates/$version-candidates
  ln -s ../candidates/$version-candidates $version-candidates
  ln -s ../candidates/$version-candidates $version-candidates
* Update l10n changesets for desktop, mobile
* Update l10n changesets for desktop, mobile
Line 116: Line 111:
=== 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
Firefox,firefox,firefox,3.6.25,3.6
Firefox,firefox,firefox,3.6.26pre,3.6
For non-3.6 releases, we need to include Fennec in the email if we build Fennec.


For 9.0b2 it would be
For 9.0b2 it would be
  Firefox,firefox,firefox,9.0b2,9.0
  Firefox,firefox,firefox,9.0b2,9.0
  Fennec,firefox-mobile,fennec,9.0b2,9.0
  Fennec,firefox-mobile,fennec,9.0b2,9.0
And for 9.0 final it's
Firefox,firefox,firefox,9.0,9.0
Fennec,firefox-mobile,fennec,9.0,9.0
ESRs look like this:
Firefox,firefox,firefox,10.0.3,10.0
Firefox,firefox,firefox,10.0.3esr,10.0
=== E-mail mirrors@mozilla.org ===
Not necessary for rapid release betas, files only go as far as the 'internal mirrors'.
Coordinate yourself with the person creating the ESR and the latest release which normally go out at the same time.
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>
Subject: Firefox {VERSION1} [and {VERSION2}] coming to mirrors on {DATE}
Body:
We're planning on pushing our Firefox {VERSION1} [and {VERSION2}] release(s) to mirrors 24 hours before {DATE}.
# If this is a chemspill, please mention that in the email as it will mean pinging
# for CDN to be enabled when the push to internal mirrors happens
If you believe these releases or these dates will cause any problems,
please notify release at mozilla.com. If you have any problems with mirror
status/weights/etc, please notify mirror-submissions at mozilla.org.
</pre>


=== Edit rsync exclude files ===
=== 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.
For rapid release betas, this is not necessary as there's already an exclude that matches beta releases.
Line 167: Line 129:


=== Start autosign ===
=== Start autosign ===
NOTE: use new signcode keys from d:/2011-keys
'''[not applicable]'''
#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]
#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 192: Line 155:


====Signing====
====Signing====
NOTE: use new signcode keys from d:/2011-keys and QUIT SIGNCODE when you're done with keymaster
#NOTE: use new signcode keys from d:/2011-keys and QUIT SIGNCODE when you're done with keymaster


Follow instructions in [https://intranet.mozilla.org/Build:CombinedSigning#XULRunner_Signing XULRunner Signing] (aut required).
#Follow instructions in [https://intranet.mozilla.org/Build:CombinedSigning#XULRunner_Signing XULRunner Signing] (aut required).


=== Partner Repack ===
=== Partner Repack ===
Line 217: Line 180:


=== Major Update ===
=== 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.
'''[not applicable]'''
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 ====
==== Major Update verify ====
'''[not applicable]'''


=== Reset reserved slaves ===
=== Reset reserved slaves ===
Line 233: Line 193:
=== 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 257: Line 211:


=== Push to external 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.
* Remove previously added blacklisting entry from stage.mozilla.org:/pub/mozilla.org/zz/rsyncd-mozilla-releases.exclude
* Replace old version with the current one in stage.mozilla.org:/pub/mozilla.org/zz/rsyncd-mozilla-current.exclude
See [https://intranet.mozilla.org/RelEngWiki/index.php/Managing_Rsync_Modules details]


=== Release Day ===
=== Release Day ===
==== Publish Fennec to the Android Market ====
==== Publish Fennec to the Android Market ====
=====Push the files=====
=====Push the files=====
* Use [http://hg.mozilla.org/build/braindump/file/tip/releases-related/push_fennec.sh this script] and run it as ffxbld@stage (please push you changes prior to using it)
* Use [http://hg.mozilla.org/build/braindump/file/tip/releases-related/push_fennec.sh this script] and run it as ffxbld@stage (please push your changes prior to using it)


=====Android Market=====
=====Android Market=====
Line 284: Line 232:
* 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/
* 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"
** and hit "Save"
====Push XULRunner to Mirrors ====
==== Update XULRunner wiki page ====
For major releases or chemspills, update the links on:
* https://developer.mozilla.org/en/XULRunner
* https://developer.mozilla.org/en/Gecko_SDK
Also for older releases:
* https://developer.mozilla.org/en/XULRunner_1.9.2_Release_Notes
* https://developer.mozilla.org/en/Gecko_SDK
==== Check Throttling  ====
See http://update-watch.localgho.st/release/ for example AUS links
Some links to check:
* Automatic (idle time check) update links:
** 10.0.2 en-US [https://aus3.mozilla.org/update/1/Firefox/10.0.2/20120215223356/WINNT_x86-msvc/en-US/release/update.xml win32] [https://aus2.mozilla.org/update/1/Firefox/10.0.2/20120215223356/Linux_x86-gcc3/en-US/release/update.xml linux] [https://aus2.mozilla.org/update/1/Firefox/10.0.2/20120215223356/Darwin_x86_64-gcc3-u-i386-x86_64/en-US/release/update.xml mac] [https://aus2.mozilla.org/update/1/Firefox/10.0.2/20120215223356/Linux_x86_64-gcc3/en-US/release/update.xml linux64]
** 9.0 en-US [https://aus2.mozilla.org/update/1/Firefox/9.0/20111216140209/WINNT_x86-msvc/en-US/release/update.xml win32] [https://aus2.mozilla.org/update/1/Firefox/9.0/20111216140209/Linux_x86-gcc3/en-US/release/update.xml linux] [https://aus2.mozilla.org/update/1/Firefox/9.0/20111216140209/Darwin_x86_64-gcc3-u-i386-x86_64/en-US/release/update.xml mac] [https://aus2.mozilla.org/update/1/Firefox/9.0/20111216140209/Linux_x86_64-gcc3/en-US/release/update.xml linux64]
** 10.0.2esr en-US [https://aus2.mozilla.org/update/1/Firefox/10.0.2/20120216092139/WINNT_x86-msvc/en-US/esr/update.xml win32] [https://aus2.mozilla.org/update/1/Firefox/10.0.2/20120216092139/Linux_x86-gcc3/en-US/esr/update.xml linux] [https://aus2.mozilla.org/update/1/Firefox/10.0.2/20120216092139/Darwin_x86_64-gcc3-u-i386-x86_64/en-US/esr/update.xml mac] [https://aus2.mozilla.org/update/1/Firefox/10.0.2/20120216092139/Linux_x86_64-gcc3/en-US/esr/update.xml linux64]
** 10.0esr en-US [https://aus2.mozilla.org/update/1/Firefox/10.0/20120130064731/WINNT_x86-msvc/en-US/esr/update.xml win32] [https://aus2.mozilla.org/update/1/Firefox/10.0/20120130064731/Linux_x86-gcc3/en-US/esr/update.xml linux] [https://aus2.mozilla.org/update/1/Firefox/10.0/20120130064731/Darwin_x86_64-gcc3-u-i386-x86_64/en-US/esr/update.xml mac] [https://aus2.mozilla.org/update/1/Firefox/10.0/20120130064731/Linux_x86_64-gcc3/en-US/esr/update.xml linux64]
** 3.6.27 en-US [https://aus2.mozilla.org/update/1/Firefox/3.6.27/20120216013254/WINNT_x86-msvc/en-US/release/update.xml win32] [https://aus2.mozilla.org/update/1/Firefox/3.6.27/20120216013254/Linux_x86-gcc3/en-US/release/update.xml linux] [https://aus2.mozilla.org/update/1/Firefox/3.6.27/20120216013254/Darwin_x86-gcc3-u-ppc-i386/en-US/release/update.xml mac]
* Manual update links:
** 10.0.2 en-US [https://aus3.mozilla.org/update/1/Firefox/10.0.2/20120215223356/WINNT_x86-msvc/en-US/release/update.xml?force=1 win32] [https://aus2.mozilla.org/update/1/Firefox/10.0.2/20120215223356/Linux_x86-gcc3/en-US/release/update.xml?force=1 linux] [https://aus2.mozilla.org/update/1/Firefox/10.0.2/20120215223356/Darwin_x86_64-gcc3-u-i386-x86_64/en-US/release/update.xml?force=1 mac] [https://aus2.mozilla.org/update/1/Firefox/10.0.2/20120215223356/Linux_x86_64-gcc3/en-US/release/update.xml?force=1 linux64]
** 9.0 en-US [https://aus2.mozilla.org/update/1/Firefox/9.0/20111216140209/WINNT_x86-msvc/en-US/release/update.xml?force=1 win32] [https://aus2.mozilla.org/update/1/Firefox/9.0/20111216140209/Linux_x86-gcc3/en-US/release/update.xml?force=1 linux] [https://aus2.mozilla.org/update/1/Firefox/9.0/20111216140209/Darwin_x86_64-gcc3-u-i386-x86_64/en-US/release/update.xml?force=1 mac] [https://aus2.mozilla.org/update/1/Firefox/9.0/20111216140209/Linux_x86_64-gcc3/en-US/release/update.xml?force=1 linux64]
** 10.0.2esr en-US [https://aus2.mozilla.org/update/1/Firefox/10.0.2/20120216092139/WINNT_x86-msvc/en-US/esr/update.xml?force=1 win32] [https://aus2.mozilla.org/update/1/Firefox/10.0.2/20120216092139/Linux_x86-gcc3/en-US/esr/update.xml?force=1 linux] [https://aus2.mozilla.org/update/1/Firefox/10.0.2/20120216092139/Darwin_x86_64-gcc3-u-i386-x86_64/en-US/esr/update.xml?force=1 mac] [https://aus2.mozilla.org/update/1/Firefox/10.0.2/20120216092139/Linux_x86_64-gcc3/en-US/esr/update.xml?force=1 linux64]
** 10.0esr en-US [https://aus2.mozilla.org/update/1/Firefox/10.0/20120130064731/WINNT_x86-msvc/en-US/esr/update.xml?force=1 win32] [https://aus2.mozilla.org/update/1/Firefox/10.0/20120130064731/Linux_x86-gcc3/en-US/esr/update.xml?force=1 linux] [https://aus2.mozilla.org/update/1/Firefox/10.0/20120130064731/Darwin_x86_64-gcc3-u-i386-x86_64/en-US/esr/update.xml?force=1 mac] [https://aus2.mozilla.org/update/1/Firefox/10.0/20120130064731/Linux_x86_64-gcc3/en-US/esr/update.xml?force=1 linux64]
** 3.6.27 en-US [https://aus2.mozilla.org/update/1/Firefox/3.6.27/20120216013254/WINNT_x86-msvc/en-US/release/update.xml?force=1 win32] [https://aus2.mozilla.org/update/1/Firefox/3.6.27/20120216013254/Linux_x86-gcc3/en-US/release/update.xml?force=1 linux] [https://aus2.mozilla.org/update/1/Firefox/3.6.27/20120216013254/Darwin_x86-gcc3-u-ppc-i386/en-US/release/update.xml?force=1 mac]
==== 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 ====

Revision as of 21:06, 3 April 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:

Build Engineers

{hwine} - Tracking bug: bug 735388

Signed-off Revision(s)

Build 1: #

L10N changesets

Instructions on how to get them

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

Tags

Build # Branch, Tags Changeset
MOBILE80_#_RELBRANCH, FENNEC_VERSION_RELEASE, FENNEC_VERSION_BUILD1 #
GECKO80_#_RELBRANCH, FIREFOX_VERSION_BUILD1 FIREFOX_VERSION_RELEASE #

Build data

Firefox

Build # Type Build ID Build machine Time to build
1 Linux
Linux64
Mac
Windows

Fennec

Build # Type Build ID Build machine Time to build
1 android
android-xul

Notes

Build 1

Preparing to start Automation

  • Set clobbers for the appropriate masters. Doing this 24-48 hours in advance should speedup the build.
  • Reserve slaves, e.g.:
[cltbld@buildbot-master08 master]$ pwd
/builds/buildbot/build1/master
[cltbld@buildbot-master08 master]$ cat reserved_slaves_bm08-build1 
8
  • 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 ..G/candidates/$version-candidates
ln -s ../candidates/$version-candidates $version-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.
    • Sample command for Firefox 10.0 beta 5 build 1:
hg tag -f FIREFOX_10_0b5_RELEASE FIREFOX_10_0b5_BUILD1 FENNEC_10_0b5_RELEASE FENNEC_10_0b5_BUILD1
  • update and reconfigure the master
  • start automation
  • reconfigure other masters (or ask the buildduty person to do this) if you have done a merge (and not double-land) to production

E-mail Metrics

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

For 9.0b2 it would be

Firefox,firefox,firefox,9.0b2,9.0
Fennec,firefox-mobile,fennec,9.0b2,9.0

Edit rsync exclude files

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

Tag

Bouncer Submitter

Source

Start autosign

[not applicable]

  1. NOTE: use new signcode keys from d:/2011-keys
  1. Instructions are in Signing

Build

Firefox

Firefox repacks

Fennec

Fennec repacks

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

Build

Signing

  1. NOTE: use new signcode keys from d:/2011-keys and QUIT SIGNCODE when you're done with keymaster
  1. Follow instructions in XULRunner Signing (aut required).

Partner Repack

Firefox

Fennec

Firefox Signing

Android Signing

Instructions in MobileSigning

Now run on signing1.

L10N verify

Checksums

Updates

Update verify

Major Update

[not applicable]

Major Update verify

[not applicable]

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

Do this the night before release day as it can take up to two hours.

Final verification

Push index file to mirrors

Push to external mirrors

Release Day

Publish Fennec to the Android Market

Push the files
  • Use this script and run it as ffxbld@stage (please push your 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"