Releases/BuildNotesTemplate: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
Line 83: Line 83:
=Notes=
=Notes=
==Build 1==
==Build 1==
=== Did you ship the L10n milestone ??? ===
=== Did you ship the L10n milestone & get l10n-changesets ===
'''why I oughtta!#'''
https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Starting_a_Release#L10N_Changesets


===Diff mozconfigs===
===Diff mozconfigs===
Line 90: Line 90:


=== Set reserved slaves ===
=== Set reserved slaves ===
* Reserve slaves (<small>you need ~5 each of linux, linux64, win32 (w32), and macosx64 (moz2-darwin10)</small>). Doing this 2-3 hours in advance should speed things up. e.g.:
https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Starting_a_Release#Setting_reserved_slaves
<pre>
[cltbld@buildbot-master13 master]$ pwd
/builds/buildbot/build1/master
[cltbld@buildbot-master13 master]$ cat reserved_slaves
8
</pre>


===Preparing to start Automation===
===Preparing to start Automation===
<small>[[Release:Release_Automation_on_Mercurial:Configuration#Starting_the_automation|detailed instructions]]</small>
https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Starting_a_Release#Starting_the_automation
* Go and make sure that there are L10n milestones for your release. Otherwise create them
* Set clobbers for the appropriate masters. Doing this 24-48 hours in advance should speedup the build.
** [https://build.mozilla.org/clobberer/ clobberer]
* 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, or tbirdbld and use thunderbird in path
cd /pub/mozilla.org/firefox/nightly/
mkdir ../candidates/$version-candidates
ln -s ../candidates/$version-candidates $version-candidates
* Update l10n changesets for desktop, mobile
** [https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Configuration#L10N_Changesets Instructions] on how to get them
** [https://l10n-stage-sj.mozilla.org/shipping/milestones dashboard]
* 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. <small>''([[Release:Release_Automation_on_Mercurial:Configuration#Starting_the_automation|details]])''</small>
** Sample command for Firefox 10.0 beta 5 build 1:
<pre>
hg tag -f FIREFOX_10_0b5_RELEASE FIREFOX_10_0b5_BUILD1
hg tag -f FENNEC_10_0b5_RELEASE FENNEC_10_0b5_BUILD1
# bash shortcut: hg tag -f {FIREFOX,FENNEC}_10_0b5_{RELEASE,BUILD1}
</pre>
* update and reconfigure the master
XXX: add notes on how to update the master
<pre>
cd /builds/buildbot/build1/master
source ../bin/activate
PYTHONPATH=. python ../tools/buildbot-helpers/release_sanity.py -u armenzg -V 13.0b1 --branch mozilla-beta --build-number 1 \
    --release-config release-firefox-mozilla-beta.py --release-config release-fennec-mozilla-beta.py --products firefox,fennec  \
    --dryrun localhost:9001
</pre>
* start automation ''&larr; monitor progress on buildbot (e.g. [http://buildbot-master13.build.mozilla.org:8001/waterfall?num_events=10&category=release-mozilla-beta- beta])''
** the same command as above but without the "--dryrun"
* 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>


=== E-mail Metrics ===
=== E-mail Metrics ===
Use the address "metrics-alerts < AT > mozilla < PERIOD > org". <small><em>Note for first-time-releasers: your email will get held for moderator approval - that is expected. If it happens more than once, get help on <tt>#metrics</tt>.</em></small>
https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Tagging_through_Signing#E-mail_Metrics
 
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
Firefox,firefox,firefox,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 ===
=== E-mail mirrors@mozilla.org ===
Not necessary for rapid release betas or ESR builds, as the files only go as far as the 'internal mirrors'.
https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Tagging_through_Signing#E-mail_Mirrors
 
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 ===
After getting [https://intranet.mozilla.org/Build:Setup_sysadmins_access svn setup] (auth req'd) edit files/rsync/rsyncd-mozilla-releases.exclude so that it excludes the current release, get review and deploy. This prevents external mirrors from picking up the new release prematurely.
https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Tagging_through_Signing#Edit_rsync_exclude_files
Since Thunderbird doesn't inject index.html files into the file hierarchy, adding "- thunderbird/releases/13.0/**" (adjust for version) to the top of the file is all that's needed.
 
For rapid release betas and ESR builds, this is not necessary as there's already an exclude that matches them.


=== Tag ===
=== Tag ===


=== Bouncer Submitter ===
=== Bouncer Submitter ===


=== Source ===
=== Source ===


=== Build ===
=== Build ===
Line 191: Line 118:


===== Fennec repacks =====
===== Fennec repacks =====
=== Unittests / Talos ===
<small>[[Release:Release_Automation_on_Mercurial:Build#Talos_.26_Unittests|details]]</small>
# Look to see that they ran
# Document any oranges (per platform) for unittests - if possible, try to confirm it's known/random
# Make sure there's no red/failures that we need to have a dev look at


=== XULRunner ===
=== XULRunner ===
Line 210: Line 131:


=== Android Signing ===
=== Android Signing ===
Instructions in [https://intranet.mozilla.org/RelEngWiki/index.php/Signing#Android_Signing Signing: Android Signing]
https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Tagging_through_Signing#Android
 
Now run on signing1.
 
=== L10N verify ===
 


=== Checksums ===
=== Checksums ===
Line 222: Line 138:


==== Update verify ====
==== Update verify ====
=== 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:Updates#Major_Update_.28Firefox_only.29|Major update]] documentation.
==== Major Update verify ====


=== Reset reserved slaves ===
=== Reset reserved slaves ===
Needs to be reset to 0.
https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Tagging_through_Signing#Reset_reserved_slaves


=== Check permissions / AV scan ===
=== Check permissions / AV scan ===
It is supposed to be triggered automatically after updates are done.
https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Updates_through_Shipping#Check_Permissions
File a bug if it doesn't. <small>[[Release:Release_Automation_on_Mercurial:Updates#Antivirus_check|details]]</small>


=== Push to internal mirrors ===
=== Push to internal mirrors ===
This is done by automation for rapid release betas. '''Note''': if you have to reconfig the release buildbot master in during the release, the uptake monitoring will fail ({{bug|629648}}). That means you'll need to manually send the "ready for releasetest" emails when you believe things are "good enough". Refer to a prior release for email details.
https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Updates_through_Shipping#Push_to_releases_directory_.2F_internal_mirrors
 
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]


=== Final verification ===
=== Final verification ===
Record receipt of "completed_final_verification" emails (1 per platform)
https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Updates_through_Shipping#Final_Verification


=== Going to Beta ===
=== Going to Beta ===
Line 254: Line 155:


==== Run backupsnip ====
==== Run backupsnip ====
NOTE: Remember to do this at least '''2 hours''' ahead of the expected "go to beta" email. <small>''[[Release:Release_Automation_on_Mercurial:Updates#Prepare_for_Beta_Release_.28Firefox_only.29|details]]''</small>
https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Updates_through_Shipping#Run_Backupsnip
 
Remember to ssh to aus3-staging using your short LDAP name and then run <code>sudo su - ffxbld</code> once on.  If you intend to use screen, initiate your screen session while you are still yourself.


==== Push to beta ====
==== Push to beta ====
Wait for "go" from release managers<br />
https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Updates_through_Shipping#Play_Store
For Firefox:
https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Updates_through_Shipping#Push_snippets
* Publish (and record run time here): <small>''[[Release:Release_Automation_on_Mercurial:Updates#Beta_Release_.28Firefox_only.29|details]]''</small>
* on completion, email r-d that VERSION updates are live on the beta channel
 
For Android:
* publish on Google Play (nee Android Marketplace), using [[#Publish_Fennec_to_the_Android_Market|instructions below]]
* on completions, email r-d that VERSION is live on Google Play
 
Wait for confirmation from QA that each of the above releases is okay, then close the tracking ticket.


=== Before Release Day ===
=== Before Release Day ===
Line 275: Line 166:


==== 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.
https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Updates_through_Shipping#Run_Backupsnip


=== Push index file to mirrors ===
=== Push index file to mirrors ===
https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Updates_through_Shipping#Dealing_with_index.html_files


=== 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.
https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Updates_through_Shipping#Push_to_external_mirrors
 
* Remove previously added rsync exclusion 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 Play Store (for beta releases and release releases) ====
==== Publish Fennec to the Play Store (for beta releases and release releases) ====
=====Push the files (for beta releases and release releases)=====
=====Push the files (for beta releases and release releases)=====
* 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, and grab latest on stage via <tt>curl -O http://hg.mozilla.org/build/braindump/raw-file/tip/releases-related/push_fennec.sh</tt>)
https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Updates_through_Shipping#Push_the_files


=====Play Store (for beta releases and release releases)=====
=====Play Store (for beta releases and release releases)=====
'''IMPORTANT -''' Make sure to follow instructions!
https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Updates_through_Shipping#Play_Store
* download both multi apks.  These have the same name so save them to separate directories.
** (If you're not building or pushing XUL fennec, you can skip the android-xul download/push)
** (e.g. [http://ftp.mozilla.org/pub/mozilla.org/mobile/candidates/14.0b6-candidates/build1/android/multi/fennec-14.0b6.multi.android-arm.apk android/multi/fennec-14.0b6.multi.android-arm.apk])
** (e.g. [http://ftp.mozilla.org/pub/mozilla.org/mobile/candidates/14.0b6-candidates/build1/android-xul/multi/fennec-14.0b6.multi.android-arm.apk android-xul/multi/fennec-14.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 android 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"
* If you're also uploading XUL Fennec, repeat the same steps for the android-xul multilocale apk
* activate new android apk (You should see an Error message since both apk's are active)
* deactivate old android apk (You should not see the Error message anymore). You can identify the two build types by
** Native Fennec (phones) has <tt>Supported screens: small-large</tt>
** XUL Fennec (tablets) has <tt>Supported screens: xlarge</tt>
* If you're also activating XUL Fennec, repeat those steps for the android-xul multilocale apk.
* 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"


==== Update XULRunner wiki page ====
==== Update XULRunner wiki page ====
For major releases or chemspills, update the links on:
https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Updates_through_Shipping#Update_XULRunner_wiki_page
* 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  ====
==== Check Throttling  ====
See http://people.mozilla.com/~nthomas/update-watch/release/ for example AUS links
https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Updates_through_Shipping#Check_Throttling
 
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 (for beta releases and release releases) ====
==== Push to Release Channel (for beta releases and release releases) ====
Once there is enough uptake and we get "go" from release driver.
https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Updates_through_Shipping#Push_snippets


==== Update symlinks ====
==== Update symlinks ====
Once we're signed off on the release channel.
https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Updates_through_Shipping#Update_Symlinks
 
===== Remove index.html files =====
===== Remove index.html files =====
If you created them earlier to hide the release.
https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Updates_through_Shipping#Dealing_with_index.html_files


==== Update browser choice website ====
==== Update browser choice website ====
https://wiki.mozilla.org/Release:Release_Automation_on_Mercurial:Updates_through_Shipping#Update_the_Browser_Choice_Website
canmove, Confirmed users
6,441

edits

Navigation menu