Releases/Firefox 3.6rc1/BuildNotes: Difference between revisions
(18 intermediate revisions by 2 users not shown) | |||
Line 88: | Line 88: | ||
* Removed en-US.xpi from the 3.6rc1-candidates/build1/ directory on stage | * Removed en-US.xpi from the 3.6rc1-candidates/build1/ directory on stage | ||
* No problems | * No problems | ||
==== Socorro product data updates ==== | |||
Submitted a crash using linux build and Crash Me Now extension. Poked joduinn to enable 3.6 and 3.6pre versions. | |||
==== Sign ==== | ==== Sign ==== | ||
* [https://intranet.mozilla.org/Build:CombinedSigning instructions] | * [https://intranet.mozilla.org/Build:CombinedSigning instructions] | ||
* | * FIXME - {{bug|538457}} need to exclude the tests files when downloading so that they don't end up in MD5SUMS and SHA1SUMS, or get pgp sigs | ||
* Otherwise no problems | |||
==== L10N Verify ==== | ==== L10N Verify ==== | ||
Line 105: | Line 109: | ||
# move the previous run aside | # move the previous run aside | ||
mv temp temp.b1 | mv temp temp.b1 | ||
# get custom config | # get custom config | ||
# NB: this is now checked in as moz192-branch-patcher2-wince.cfg | |||
# for 3.6rc2 we should update the config, land, and the curl turns into a 'cvs up' | |||
cd patcher-configs | cd patcher-configs | ||
curl -s https://bug535567.bugzilla.mozilla.org/attachment.cgi?id=420483 | patch -p0 | curl -s https://bug535567.bugzilla.mozilla.org/attachment.cgi?id=420483 | patch -p0 | ||
Line 149: | Line 155: | ||
fi | fi | ||
done | done | ||
** win32 update verify was green afterward. We expect all of these differences: | |||
Only in source/bin: .autoreg | |||
diff -r source/bin/defaults/pref/channel-prefs.js target/bin/defaults/pref/channel-prefs.js | |||
2c2 | |||
< pref("app.update.channel", "beta"); | |||
--- | |||
> pref("app.update.channel", "release"); | |||
Files source/bin/freebl3.chk and target/bin/freebl3.chk differ | |||
Files source/bin/nssdbm3.chk and target/bin/nssdbm3.chk differ | |||
Only in source/bin: removed-files | |||
Files source/bin/softokn3.chk and target/bin/softokn3.chk differ | |||
** I also made a copy of the original beta/release snippets and updated those snippets too: | ** I also made a copy of the original beta/release snippets and updated those snippets too: | ||
Line 157: | Line 174: | ||
cd 20100105-Firefox-3.6rc1-completes-only-for-win32/Firefox/3.6b5/WINNT_x86-msvc/20091204143806/ | cd 20100105-Firefox-3.6rc1-completes-only-for-win32/Firefox/3.6b5/WINNT_x86-msvc/20091204143806/ | ||
bash ~/coop/completes_as_partials.bash | bash ~/coop/completes_as_partials.bash | ||
====Update Bouncer==== | ====Update Bouncer==== | ||
3 entries each for linux, macosx, wince, and 4 types of solaris. No partials for win32 partial so only two entries for that. | |||
====Final checks before push==== | ====Final checks before push==== | ||
cd /pub/mozilla.org/firefox/nightly/3.6rc1-candidates/build1/ | |||
find . ! -user ffxbld | |||
find . ! -group firefox | |||
find . -type f ! -perm 644 | |||
find . -mindepth 1 -type d ! -perm 755 ! -name 'contrib*' | |||
find . -maxdepth 1 -type d ! -perm 2775 -name 'contrib*' | |||
====Push to mirrors==== | ====Push to mirrors==== | ||
Need to exclude from the rsync: | |||
* *.tests.tar.bz2 which are used for talos and unit test but not shipped (new this time) | |||
* win32 partials because they're bogus (see updates above) | |||
* WinCE files because QA is still checking those | |||
# ffxbld@stage | |||
rsync -av --exclude=*.log --exclude=*.txt --exclude=*unsigned* \ | |||
--exclude=*.crashreporter-symbols.zip --exclude=*.tests.tar.bz2* \ | |||
--exclude=update/win32/*/*.partial.mar \ | |||
--exclude=wince-arm/ --exclude=update/wince-arm/ \ | |||
/pub/mozilla.org/firefox/nightly/3.6rc1-candidates/build1/ \ | |||
/pub/mozilla.org/firefox/releases/3.6rc1/ | |||
* Push WinCE files after QA signoff | |||
# ffxbld@stage | |||
rsync -av --exclude=*.log --exclude=*.txt --exclude=*unsigned* \ | |||
--exclude=*.crashreporter-symbols.zip --exclude=*.tests.tar.bz2* \ | |||
--exclude=update/win32/*/*.partial.mar \ | |||
/pub/mozilla.org/firefox/nightly/3.6rc1-candidates/build1/ \ | |||
/pub/mozilla.org/firefox/releases/3.6rc1/ | |||
====Final Verification==== | ====Final Verification==== | ||
Run at 17:30 PDT on day before "release". Got 4 errors from voxcdn out of ~950 requests to them. Passed information on to reed. | |||
====Push updates to release channel==== | ====Push updates to release channel==== | ||
~/bin/backupsnip 20100105-Firefox-3.6rc1-completes-only-for-win32 | |||
real 49m52.783s | |||
user 0m22.306s | |||
sys 0m30.768s | |||
* pushsnip for desktop builds after r-d go | |||
# cltbld@aus2-staging | |||
cd /opt/aus2/snippets/staging | |||
~/bin/pushsnip 20100105-Firefox-3.6rc1-completes-only-for-win32 | |||
* pushsnip for wince after separate sync to mirrors and releasetest go | |||
# cltbld@aus2-staging | |||
cd /opt/aus2/snippets/staging | |||
~/bin/pushsnip 20100106-Firefox-3.6rc1-WinCE | |||
====Release==== | ====Release==== | ||
No symlink until final | |||
====XULRunner build==== | ====XULRunner build==== | ||
Builds are forced manually, using revision of FIREFOX_3_6rc1_RELEASE, name and reason. When they complete | |||
# xrbld@stage | |||
cd /pub/mozilla.org/xulrunner/nightly/ | |||
mkdir -p 1.9.2rc1-candidates/build1/ | |||
mv -v latest-mozilla-1.9.2/*-1.9.2.* 1.9.2rc1-candidates/build1/ | |||
Contact mfinkle and dtownsend for smoketest QA. After go from them: | |||
# cltbld@stage | |||
VERSION=1.9.2rc1 | |||
FX_VERSION=3.6rc1 | |||
BUILD=1 | |||
mkdir -p ~/xulrunner-${VERSION}/batch1/stage-unsigned/{runtimes,source,sdk} | |||
cd ~/xulrunner-${VERSION}/batch1/stage-unsigned | |||
rsync -av --exclude=*sdk* --exclude=*info* \ | |||
/home/ftp/pub/xulrunner/nightly/${VERSION}-candidates/build${BUILD}/ runtimes/ | |||
rsync -av --include=*sdk* --exclude=* \ | |||
/home/ftp/pub/xulrunner/nightly/${VERSION}-candidates/build${BUILD}/ sdk/ | |||
cp -pv /pub/mozilla.org/firefox/releases/${FX_VERSION}/source/firefox-${FX_VERSION}.source.tar.bz2 \ | |||
source/xulrunner-${VERSION}.source.tar.bz2 | |||
cd ~/xulrunner-${VERSION}/batch1 | |||
rsync -av stage-unsigned/ stage-signed/ | |||
Then create detached signatures per [https://intranet.mozilla.org/Build:Signing#Installer.2Farchive_signing_before_release usual process] (with PRODUCT=xulrunner, VERSION=1.9.2rc1, don't need BUILD, TAG, or KEYDIR), skip the win32 signing section, do pgp, verify and upload. Back on stage: | |||
cd ~/xulrunner-${VERSION}/batch1/stage-signed | |||
cp /pub/mozilla.org/firefox/releases/${FX_VERSION}/KEY . | |||
~/bin/checksum-files . | |||
chown -R cltbld:xulrunner . | |||
find . -type f -exec chmod -v 644 {} \; | |||
find . -type d -exec chmod -v 755 {} \; | |||
cd ~/xulrunner-${VERSION}/batch1 | |||
rsync -nav stage-signed/* /home/ftp/pub/xulrunner/releases/${VERSION}/ | |||
If all is fine then | |||
rsync -av stage-signed/* /home/ftp/pub/xulrunner/releases/${VERSION}/ | |||
(Mirror updating can take a bit, 10-15 mins this time) | |||
Updated the links on | |||
* [https://developer.mozilla.org/En/XULRunner_1.9.2_Release_Notes Release Notes] | |||
Once we hit 3.6 final we'll add 1.9.2 to | |||
* [https://developer.mozilla.org/En/Gecko_SDK Gecko_SDK] |
Latest revision as of 23:12, 12 January 2010
NB: Text that is italicized indicates tasks still to be done, or information that needs to be filled in.
Build Engineers
Build tag-team:
- NZDT: nthomas
- EST: coop
Signed-off Revision(s)
Build 1: 0f70d1d535dc
Tags
On mozilla-central:
Build # | Tag | Changeset |
1 | GECKO192_20100105_RELBRANCH | 0f70d1d535dc |
FIREFOX_3_6rc1_BUILD1 FIREFOX_3_6rc1_RELEASE | 672df9e9c441 |
Build data
Build 1:
Platform | Build ID | Build machine |
Win32 | 20100105212446 | win32-slave18 |
Mac | 20100105194006 | moz2-darwin9-slave14 |
Linux | 20100105194116 | moz2-linux-slave16 |
WinCE | 20100105194724 | win32-slave24 |
Notes
Using production-master.b.m.o.
Build 1
- Clean up previous releases build dirs, just for the slaves we used for 3.6b4 build1. Used cssh for linux/mac, RDP as Administrator on win32.
- Linux: slave01,02,05-10,12,16,18,24,26; rm -rf /builds/slave/{tag,source,linux_build,linux_repack,updates,linux_update_verify,final_verification}/*
- Mac: slave02,05,06,07,09,10,14; xserve07,09; rm -rf /builds/slave/{macosx_build,macosx_repack,l10n_verification, macosx_update_verify}/*
- Win32: win32-slave01,02,05,06,07,08,09,10,13,39; rm -rf /e/builds/moz2_slave/{win32_build,win32_repack,win32_update_verify,wince_build}/*
- one-off: switched update channel to release
- prepared automation config patch - minus changeset
- landed automation config
- reconfig'd master
- Tagged build/{buildbot-configs,buildbotcustom,tools} with FIREFOX_3_6rc1_RELEASE
- Closed the mozilla-1.9.2 tree
- Sendchange:
buildbot sendchange --username=nthomas --master=localhost:9010 --branch=releases/mozilla-1.9.2 -m "Firefox 3.6rc1build1" go!
Tag
- slave: moz2-linux-slave02
- bump mozilla-1.9.2 to 3.6pre with patch
- reopen mozilla-1.9.2
- no problems
Source
- slave: moz2-linux-slave23
- no problems
Build/Repack
- slaves
- Manual verification that all l10n builds are present:
# stage cd /home/ftp/pub/firefox/nightly/3.6b4-candidates/build1 # each should be 74 = en-US + 73 locales, for desktop platforms for p in linux-i686 mac unsigned/win32; do echo `ls $p | grep -v xpi | wc -l` $p done
- Removed en-US.xpi from the 3.6rc1-candidates/build1/ directory on stage
- No problems
Socorro product data updates
Submitted a crash using linux build and Crash Me Now extension. Poked joduinn to enable 3.6 and 3.6pre versions.
Sign
- instructions
- FIXME - bug 538457 need to exclude the tests files when downloading so that they don't end up in MD5SUMS and SHA1SUMS, or get pgp sigs
- Otherwise no problems
L10N Verify
- No problems
Generate updates & push betatest snippets
- No problems
WinCE update and snippet generation
- slave: moz2-linux-slave18 (same slave as the automated run)
- Generate the snippets
cd /builds/slave/updates/build # move the previous run aside mv temp temp.b1 # get custom config # NB: this is now checked in as moz192-branch-patcher2-wince.cfg # for 3.6rc2 we should update the config, land, and the curl turns into a 'cvs up' cd patcher-configs curl -s https://bug535567.bugzilla.mozilla.org/attachment.cgi?id=420483 | patch -p0 cd /builds/slave/updates/build perl patcher2.pl --download --app=firefox --brand=Firefox --config=patcher-configs/moz192-branch-patcher2-wince.cfg perl patcher2.pl --create-patches --partial-patchlist-file=patchlist.cfg --app=firefox --brand=Firefox --config=patcher-configs/moz192-branch-patcher2-wince.cfg find temp/firefox/3.6b5-3.6rc1/ftp/firefox/nightly/3.6rc1-candidates/build1 -type f -exec chmod 644 {} \; find temp/firefox/3.6b5-3.6rc1/ftp/firefox/nightly/3.6rc1-candidates/build1 -type d -exec chmod 755 {} \; cd /builds/slave/updates/build/temp/firefox/3.6b5-3.6rc1/ftp/firefox/nightly/3.6rc1-candidates/build1 rsync -av -e 'ssh -oIdentityFile=~/.ssh/ffxbld_dsa' --exclude=*complete.mar update ffxbld@stage.mozilla.org:/pub/mozilla.org/firefox/nightly/3.6rc1-candidates/build1/ cd /builds/slave/updates/build/temp/firefox/3.6b5-3.6rc1 rsync -av aus2/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20100106-Firefox-3.6rc1-WinCE rsync -av aus2.test/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20100106-Firefox-3.6rc1-WinCE-test
- Push the snippets live
# cltbld@aus2-staging cd /opt/aus2/snippets/staging ~/bin/pushsnip 20100106-Firefox-3.6rc1-WinCE-test
Update Verify
- Linux: failed
- no complete update found for https://aus2.mozilla.org/update/1/Firefox/3.6b5/20091204132459/Linux_x86-gcc3/eo/betatest/update.xml?force=1
- seems spurious, it's available when I check by hand
- Mac: No problems
- Win32: failed
PREPARE PATCH AccessibleMarshal.dll CRC check failed LoadSourceFile failed failed: 4 calling QuitProgressUI FAIL: update status was not succeeded: failed: 4 FAIL: check_updates returned failure for WINNT_x86-msvc downloads/Firefox Setup 3.6 Beta 5.exe vs. downloads/Firefox Setup 3.6 RC 1.exe: 1
- this is expected due to a rebasing change that happened in 3.6b5. See the Update Verify notes for 3.6b5 for details.
- there are about 600K users on 3.6b5 Win, so in order to prevent the unnecessary downloading of partials, we made the snippets for partials point to the complete updates. Here's the script I used to pull the switch (~/coop/completes_as_partials.bash), run from /opt/aus2/incoming/3/Firefox/3.6b5/WINNT_x86-msvc/20091204143806 on aus2-staging:
#!/bin/bash for i in `find . -name complete.txt -print`; do DIR=`dirname ${i}` # only make a new partial when we have an existing partial if [ -f ${DIR}/partial.txt ]; then mv ${DIR}/partial.txt ${DIR}/partial.txt.orig cp ${i} ${DIR}/partial.txt perl -i.old -pe 's/type=complete/type=partial/' ${DIR}/partial.txt fi done
- win32 update verify was green afterward. We expect all of these differences:
Only in source/bin: .autoreg diff -r source/bin/defaults/pref/channel-prefs.js target/bin/defaults/pref/channel-prefs.js 2c2 < pref("app.update.channel", "beta"); --- > pref("app.update.channel", "release"); Files source/bin/freebl3.chk and target/bin/freebl3.chk differ Files source/bin/nssdbm3.chk and target/bin/nssdbm3.chk differ Only in source/bin: removed-files Files source/bin/softokn3.chk and target/bin/softokn3.chk differ
- I also made a copy of the original beta/release snippets and updated those snippets too:
# cltbld@aus2-staging cd /opt/aus2/snippets/staging cp -r 20100105-Firefox-3.6rc1 20100105-Firefox-3.6rc1-completes-only-for-win32 cd 20100105-Firefox-3.6rc1-completes-only-for-win32/Firefox/3.6b5/WINNT_x86-msvc/20091204143806/ bash ~/coop/completes_as_partials.bash
Update Bouncer
3 entries each for linux, macosx, wince, and 4 types of solaris. No partials for win32 partial so only two entries for that.
Final checks before push
cd /pub/mozilla.org/firefox/nightly/3.6rc1-candidates/build1/ find . ! -user ffxbld find . ! -group firefox find . -type f ! -perm 644 find . -mindepth 1 -type d ! -perm 755 ! -name 'contrib*' find . -maxdepth 1 -type d ! -perm 2775 -name 'contrib*'
Push to mirrors
Need to exclude from the rsync:
- *.tests.tar.bz2 which are used for talos and unit test but not shipped (new this time)
- win32 partials because they're bogus (see updates above)
- WinCE files because QA is still checking those
# ffxbld@stage rsync -av --exclude=*.log --exclude=*.txt --exclude=*unsigned* \ --exclude=*.crashreporter-symbols.zip --exclude=*.tests.tar.bz2* \ --exclude=update/win32/*/*.partial.mar \ --exclude=wince-arm/ --exclude=update/wince-arm/ \ /pub/mozilla.org/firefox/nightly/3.6rc1-candidates/build1/ \ /pub/mozilla.org/firefox/releases/3.6rc1/
- Push WinCE files after QA signoff
# ffxbld@stage rsync -av --exclude=*.log --exclude=*.txt --exclude=*unsigned* \ --exclude=*.crashreporter-symbols.zip --exclude=*.tests.tar.bz2* \ --exclude=update/win32/*/*.partial.mar \ /pub/mozilla.org/firefox/nightly/3.6rc1-candidates/build1/ \ /pub/mozilla.org/firefox/releases/3.6rc1/
Final Verification
Run at 17:30 PDT on day before "release". Got 4 errors from voxcdn out of ~950 requests to them. Passed information on to reed.
Push updates to release channel
~/bin/backupsnip 20100105-Firefox-3.6rc1-completes-only-for-win32 real 49m52.783s user 0m22.306s sys 0m30.768s
- pushsnip for desktop builds after r-d go
# cltbld@aus2-staging cd /opt/aus2/snippets/staging ~/bin/pushsnip 20100105-Firefox-3.6rc1-completes-only-for-win32
- pushsnip for wince after separate sync to mirrors and releasetest go
# cltbld@aus2-staging cd /opt/aus2/snippets/staging ~/bin/pushsnip 20100106-Firefox-3.6rc1-WinCE
Release
No symlink until final
XULRunner build
Builds are forced manually, using revision of FIREFOX_3_6rc1_RELEASE, name and reason. When they complete
# xrbld@stage cd /pub/mozilla.org/xulrunner/nightly/ mkdir -p 1.9.2rc1-candidates/build1/ mv -v latest-mozilla-1.9.2/*-1.9.2.* 1.9.2rc1-candidates/build1/
Contact mfinkle and dtownsend for smoketest QA. After go from them:
# cltbld@stage VERSION=1.9.2rc1 FX_VERSION=3.6rc1 BUILD=1 mkdir -p ~/xulrunner-${VERSION}/batch1/stage-unsigned/{runtimes,source,sdk} cd ~/xulrunner-${VERSION}/batch1/stage-unsigned rsync -av --exclude=*sdk* --exclude=*info* \ /home/ftp/pub/xulrunner/nightly/${VERSION}-candidates/build${BUILD}/ runtimes/ rsync -av --include=*sdk* --exclude=* \ /home/ftp/pub/xulrunner/nightly/${VERSION}-candidates/build${BUILD}/ sdk/ cp -pv /pub/mozilla.org/firefox/releases/${FX_VERSION}/source/firefox-${FX_VERSION}.source.tar.bz2 \ source/xulrunner-${VERSION}.source.tar.bz2 cd ~/xulrunner-${VERSION}/batch1 rsync -av stage-unsigned/ stage-signed/
Then create detached signatures per usual process (with PRODUCT=xulrunner, VERSION=1.9.2rc1, don't need BUILD, TAG, or KEYDIR), skip the win32 signing section, do pgp, verify and upload. Back on stage:
cd ~/xulrunner-${VERSION}/batch1/stage-signed cp /pub/mozilla.org/firefox/releases/${FX_VERSION}/KEY . ~/bin/checksum-files . chown -R cltbld:xulrunner . find . -type f -exec chmod -v 644 {} \; find . -type d -exec chmod -v 755 {} \; cd ~/xulrunner-${VERSION}/batch1 rsync -nav stage-signed/* /home/ftp/pub/xulrunner/releases/${VERSION}/
If all is fine then
rsync -av stage-signed/* /home/ftp/pub/xulrunner/releases/${VERSION}/
(Mirror updating can take a bit, 10-15 mins this time)
Updated the links on
Once we hit 3.6 final we'll add 1.9.2 to