Firefox 3.0rc3:BuildNotes: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
 
(28 intermediate revisions by 2 users not shown)
Line 6: Line 6:


Last checkins:
Last checkins:
* cvsroot - [http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=GECKO19_20080529_RELBRANCH+&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=2008-05-28+08%3A00+PDT&maxdate=2008-06-09+18%3A17+PDT+&cvsroot=%2Fcvsroot Build 1]
* cvsroot - [http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=GECKO19_20080529_RELBRANCH+&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=2008-05-30+08%3A00+PDT&maxdate=2008-06-09+18%3A17+PDT+&cvsroot=%2Fcvsroot Build 1]
* l10n - [http://bonsai-l10n.mozilla.org/cvsquery.cgi?treeid=default&module=Firefox3Frozen&branch=GECKO19_20080529_RELBRANCH&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=2008-05-28+00%3A00+PDT&maxdate=2008-05-28+13%3A37+PDT&cvsroot=%2Fl10n Build 1]
* l10n - [http://bonsai-l10n.mozilla.org/cvsquery.cgi?treeid=default&module=Firefox3Frozen&branch=GECKO19_20080529_RELBRANCH&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=2008-05-28+00%3A00+PDT&maxdate=2008-05-28+13%3A37+PDT&cvsroot=%2Fl10n Build 1]


Line 19: Line 19:
| style="background:#efefef" | '''Pull date'''
| style="background:#efefef" | '''Pull date'''
|-
|-
| rowspan="4" | cvsroot/mozilla
| rowspan="3" | cvsroot/mozilla
| GECKO19_20080529_RELBRANCH
| GECKO19_20080529_RELBRANCH
| HEAD @ 2008-05-28 17:00 PDT
| HEAD @ 2008-05-28 17:00 PDT
|-
|-
| FIREFOX_3_0rc2_BUILD1
| FIREFOX_3_0rc3_BUILD1
| GECKO19_20080529_RELBRANCH @ 2008-05-29 03:04 PDT
| GECKO19_20080529_RELBRANCH @ 2008-06-10 03:44 PDT
|-
|-
| FIREFOX_3_0rc2_BUILD2
| FIREFOX_3_0rc3_RELEASE
| GECKO19_20080529_RELBRANCH @ 2008-05-30 08:23 PDT
| GECKO19b5_20080529_RELBRANCH @ 2008-06-10 03:44 PDT
|-
|-
| FIREFOX_3_0rc2_RELEASE
| rowspan="3" | l10n/l10n
| GECKO19b5_20080529_RELBRANCH @2008-05-30 08:23 PDT
|-
| rowspan="4" | l10n/l10n
| GECKO19_20080529_RELBRANCH
| GECKO19_20080529_RELBRANCH
| HEAD @ 2008-05-28 13:37 PDT
| HEAD @ 2008-05-28 13:37 PDT
|-
|-
| FIREFOX_3_0rc2_BUILD1
| FIREFOX_3_0rc3_BUILD1
| GECKO19_20080529_RELBRANCH @ 2008-05-29 03:19 PDT
| GECKO19_20080529_RELBRANCH @ 2008-06-10 03:55 PDT
|-
| FIREFOX_3_0rc2_BUILD2 (unchanged)
| GECKO19_20080529_RELBRANCH @ 2008-05-30 08:35 PDT
|-
|-
| FIREFOX_3_0rc2_RELEASE
| FIREFOX_3_0rc3_RELEASE
| GECKO19_20080529_RELBRANCH @ 2008-05-29 03:19 PDT
| GECKO19_20080529_RELBRANCH @ 2008-06-10 03:55 PDT
|}
|}


Line 75: Line 69:


=Notes=
=Notes=
We've changed the naming scheme ({{bug|428063}}) so this sheet will track
* 3.0 RC2 build 1
* 3.0 RC2 build 2
etc until we publish 3.0 RC2 to the world (see the Tags section above for matching changes). We'll have a extra pages for RC3 and so on if they're required.


==Build 1==
==Build 1==
Line 105: Line 94:
** rm -rf /data/cltbld/firefox-3.0rc2
** rm -rf /data/cltbld/firefox-3.0rc2
** rm -rf /builds/tags/* (but only if you really need the space)
** rm -rf /builds/tags/* (but only if you really need the space)
* update fx-moz19-bootstrap.cfg, get review, land and move the bootstrap tag to your new revision (NB: this changed since {{bug|415970}} - no need to cvs up the bootstrap.cfg on the master any longer but moving the tag is critical). This setup occurred relatively late because RC1 was pushed backed several times, all the other setup was done early.
* update fx-moz19-bootstrap.cfg, get review, land and move the bootstrap tag to your new revision (NB: this changed since {{bug|415970}} - no need to cvs up the bootstrap.cfg on the master any longer but moving the tag is critical).  
* kick off buildbot (run as cltbld on production-1.9-master):
* kick off buildbot (run as cltbld on production-1.9-master):
  buildbot sendchange --username=nthomas --master=localhost:9989 -m "Firefox 3.0 RC3 Build1" release
  buildbot sendchange --username=nthomas --master=localhost:9989 -m "Firefox 3.0 RC3 Build1" release
Line 111: Line 100:


===Tag===
===Tag===
* ''did a cvs rdiff to verify changes between FIREFOX_3_0rc2_BUILD2 and FIREFOX_3_0rc3_BUILD1''
* failed out because Tag::Bump was expecting pre in the versions, checked in a fix to the relbranch and restarted the automation (known bug)
* had forgotten to remove fx-linux-1.9-slave2:/builds/tags/FIREFOX_3_0rc3_BUILD1/ so did that and restarted again
* did a cvs rdiff to verify changes between FIREFOX_3_0rc2_BUILD2 and FIREFOX_3_0rc3_BUILD1 - confirmed the change to mozilla/modules/plugin/base/src/nsPluginsDirDarwin.cpp  was present (also some NPOTB calendar, mail, mailnews changes that landed on trunk)


===Source===
===Source===
Line 118: Line 109:
===Setup symlinks===
===Setup symlinks===


'''THIS SECTION NEEDS updating!''' On stage-old in /pub/mozilla.org/firefox/nightly/3.0rc2-candidates/build2 as cltbld:
On stage-old in /pub/mozilla.org/firefox/nightly/3.0rc3-candidates/build1 as cltbld:
  for i in `ls ../build1/*win32.installer.exe`; do ln -s $i; done
  for i in `ls ../../3.0rc2-candidates/build2/*win32.installer.exe`; do ln -s $i; done
  for i in `ls ../build1/*win32.complete.mar`; do ln -s $i; done
  for i in `ls ../../3.0rc2-candidates/build2/*win32.complete.mar`; do ln -s $i; done
  ln -s ../build1/windows-xpi
  ln -s ../../3.0rc2-candidates/build2/windows-xpi
  ln -s ../build1/win32_info.txt
  ln -s ../../3.0rc2-candidates/build2/win32_info.txt
  ln -s ../build1/win32_signing_build1.log win32_signing_build2.log
  ln -s ../../3.0rc2-candidates/build2/unsigned  
ln -s ../build1/unsigned  
  for i in `ls ../../3.0rc2-candidates/build2/*linux-i686.tar.bz2`; do ln -s $i; done
  for i in `ls ../build1/*linux-i686.tar.bz2`; do ln -s $i; done
  for i in `ls ../../3.0rc2-candidates/build2/*linux-i686.complete.mar`; do ln -s $i; done
  for i in `ls ../build1/*linux-i686.complete.mar`; do ln -s $i; done
  ln -s ../../3.0rc2-candidates/build2/linux-xpi
  ln -s ../build1/linux-xpi
  ln -s ../../3.0rc2-candidates/build2/linux_info.txt
  ln -s ../build1/linux_info.txt
 
When ready for the automation to continue:
ln -s ../../3.0rc2-candidates/build2/win32_signing_build2.log win32_signing_build1.log


===Build===
===Build===
* ''linux and win32 builders commented out of master.cfg, so never started.''
* ''linux and win32 builders commented out of master.cfg, so never started.''
* ''mac builds?''
* mac builds went fine


===Sign===
===Sign===
Line 138: Line 131:


===l10n Verify===
===l10n Verify===
 
* automated, no problems


===Update Generation===
===Update Generation===


* We only want updates for Mac, so comment out the buildID's in the patcher config - [https://bugzilla.mozilla.org/attachment.cgi?id=324478 patch]
* Committed this to cvs after PatcherConfig ran but before patcher downloaded the builds
* automated, no problems


===Update Verify===
===Update Verify===
* expected gu-IN missing, as it did not ship before
* automated, no problems


===Stage===
===Stage===
 
* automated, no problems


===Sign Installers===
===Sign Installers===


* Done manually using these installer-signing-instructions [https://intranet.mozilla.org/Build:Unified_Release_Process#Sign_builds here]
* Using <tt> find firefox-3.0rc2/batch1/stage-signed/ -type f | perl -nle '$a = $_; $a =~ s/rc2/rc3/g; $a =~ s/RC\ 2/RC 3/; system("diff -q \"$_\" \"$a\"");'</tt> and assorted greps, verified that
** there are 47 differing dmg's (49 in shipped-locales less gu-IN and ja), and their asc's also differ
** that the are 46 differing mac xpi's due to file times changing inside xpi (49 - gu-IN - ja - en-US)
** there are 48 unchanged linux tar.gz, but there are 48 differing asc's
** there are 48 differing win32 .exe (from resigning), with  48 differing asc's
** the source tarball differs
* Using <tt>find firefox-3.0rc2/batch1/mar/ -type f | perl -nle '$a = $_; $a =~ s/rc2/rc3/g; $a =~ s/rc1/rc2/; system("diff -q \"$_\" \"$a\"");' 2>&1 </tt> and assorted greps, verified that
** that the 47 mac complete updates differ
** that the 45 mac partial updates differ (no partial for 3.0rc1 -> 3.0rc2 for si & sl, first added for 3.0rc2)
** that there are no windows or linux partial updates for 3.0rc3
** that none of the 49 windows or linux complete updates differ


* complete stage-merged:
# on stage
cd /data/cltbld/firefox-3.0rc3/
rsync -av batch1/mar/ stage-merged/
rsync -av batch1/stage-signed/ stage-merged/
* Create MD5 and SHA1 checksum files
# on stage
cd /data/cltbld/firefox-3.0rc3/stage-merged/
~/bin/checksum-files .
* Fix permissions & ownership (on the two SUM files, and the detached sigs)
chown -R cltbld:firefox .
chmod 644 *SUMS


===Update Bouncer===
===Update Bouncer===
Line 156: Line 178:


===Push to mirrors===
===Push to mirrors===
* push the stage-merged directory to the releases area:
# on stage
rsync -av /data/cltbld/firefox-3.0/ /home/ftp/pub/firefox/releases/3.0/
===Publish Updates to Beta & Release Channel===
'''If you need to cancel/abort updates, the quickest way to do this is [https://intranet.mozilla.org/Build:Updates here]'''
While waiting for formal "go" and mirror sync, backup existing beta channel
  # login to aus2-staging
  $ sudo su - cltbld
  # make sure using latest version of scripts
  $ cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot get -d bin mozilla/tools/release/bin/
    cvs checkout: Updating bin
  $ cd /opt/aus2/snippets/staging
  # note the required parameter must match what will be used with pushsnip below.
  $ ~/bin/backupsnip 20080610-Firefox-3.0rc3
Once the mirror sync is good: on a linux/Mac build slave, run the quick updateverify test for the releastest channel
cd /builds/verify/firefox-3.0rc3/updates
# just mac this time
cat moz19-firefox-mac.cfg > releasetest.cfg
sed -i.bak 's/betatest/releasetest/' releasetest.cfg
./verify.sh -t releasetest.cfg 2>&1 | tee releasetest.log
Should be all HTTP/200 OK results e.g.:
grep 'HTTP' releasetest.log  | grep -v Found | grep -v 200
This test passed.


On aus2-staging, ensure that releasetest channel contents match beta channel contents (we also checked this earlier)
cd /opt/aus2/snippets/staging/20080610-Firefox-3.0rc3
find -type d -iregex '.*beta.*' | perl -nle '$a = $_; $a =~ s/beta/releasetest/; system("diff -r -u $_ ../20080610-Firefox-3.0rc3-test/$a");'
No diffs found - which is correct.


===Publish Updates to Beta & Release Channel===
Once QA and overall driver gives formal "go" to put updates on beta channel
  # login to aus2-staging
  $ sudo su - cltbld
  $ cd /opt/aus2/snippets/staging
  $ ~/bin/pushsnip 20080610-Firefox-3.0rc3

Latest revision as of 15:32, 16 June 2008

Build Engineers

nthomas

Bonsai queries

Last checkins:

Bugs

Tracking bug for Firefox 3.0rc3 - bug 438261

Tags

Module Tag Pull date
cvsroot/mozilla GECKO19_20080529_RELBRANCH HEAD @ 2008-05-28 17:00 PDT
FIREFOX_3_0rc3_BUILD1 GECKO19_20080529_RELBRANCH @ 2008-06-10 03:44 PDT
FIREFOX_3_0rc3_RELEASE GECKO19b5_20080529_RELBRANCH @ 2008-06-10 03:44 PDT
l10n/l10n GECKO19_20080529_RELBRANCH HEAD @ 2008-05-28 13:37 PDT
FIREFOX_3_0rc3_BUILD1 GECKO19_20080529_RELBRANCH @ 2008-06-10 03:55 PDT
FIREFOX_3_0rc3_RELEASE GECKO19_20080529_RELBRANCH @ 2008-06-10 03:55 PDT

Build data

Type Build ID SHA1 Push date Build machine
[Windows installer] en-US & l10n:fx-win32-1.9-slave2
[Mac compressed] en-US & l10n:fx-mac-1.9-slave2
[Linux compressed] en-US & l10n:fx-linux-1.9-slave2

Notes

Build 1

Bootstrap tag: RELEASE_AUTOMATION_M9_1

NB: Italicized items were not required for this build (reason given for each).

Setup before starting:

  • compare nightly and release mozconfig/tinder-config.pl files, merge any desired changes - none this time
  • updated the bootstrap tag in master.cfg, and landed after review. Merged the change onto production-1.9-master, commented out the dep builders and reconfig'd the master - no changes
  • tagged mozilla/tools/tinderbox with RELEASE_AUTOMATION_M9_1 - we don't need the one change (bug 291167)
  • On fx-mac-1.9-slave2, fx-linux-1.9-slave2 (skipped fx-win32-1.9-slave2)
    • restart linux and windows VMs to sort out any glitches from netapp problems
    • remember to use VNC if restarting mac slave
    • verify that linux has had "DISPLAY=:0 xhost +" since last reboot
    • remove the contents of /builds/verify/*
      • FIXME should be automatically backed up or removed - bug 413178
    • update tinderbox to RELEASE_AUTOMATION_M9_1
      • Nothing to do here; linux and mac slaves already using RELEASE_AUTOMATION_M9_1.
  • on fx-linux-1.9-slave2
    • cd /data/cltbld/bin && cvs up
    • rm -rf /builds/updates/*
    • rm -rf /builds/source/*
    • rm -rf /data/cltbld/firefox-3.0rc2
    • rm -rf /builds/tags/* (but only if you really need the space)
  • update fx-moz19-bootstrap.cfg, get review, land and move the bootstrap tag to your new revision (NB: this changed since bug 415970 - no need to cvs up the bootstrap.cfg on the master any longer but moving the tag is critical).
  • kick off buildbot (run as cltbld on production-1.9-master):
buildbot sendchange --username=nthomas --master=localhost:9989 -m "Firefox 3.0 RC3 Build1" release


Tag

  • failed out because Tag::Bump was expecting pre in the versions, checked in a fix to the relbranch and restarted the automation (known bug)
  • had forgotten to remove fx-linux-1.9-slave2:/builds/tags/FIREFOX_3_0rc3_BUILD1/ so did that and restarted again
  • did a cvs rdiff to verify changes between FIREFOX_3_0rc2_BUILD2 and FIREFOX_3_0rc3_BUILD1 - confirmed the change to mozilla/modules/plugin/base/src/nsPluginsDirDarwin.cpp was present (also some NPOTB calendar, mail, mailnews changes that landed on trunk)

Source

  • automated, no problems

Setup symlinks

On stage-old in /pub/mozilla.org/firefox/nightly/3.0rc3-candidates/build1 as cltbld:

for i in `ls ../../3.0rc2-candidates/build2/*win32.installer.exe`; do ln -s $i; done
for i in `ls ../../3.0rc2-candidates/build2/*win32.complete.mar`; do ln -s $i; done
ln -s ../../3.0rc2-candidates/build2/windows-xpi
ln -s ../../3.0rc2-candidates/build2/win32_info.txt
ln -s ../../3.0rc2-candidates/build2/unsigned 
for i in `ls ../../3.0rc2-candidates/build2/*linux-i686.tar.bz2`; do ln -s $i; done
for i in `ls ../../3.0rc2-candidates/build2/*linux-i686.complete.mar`; do ln -s $i; done
ln -s ../../3.0rc2-candidates/build2/linux-xpi
ln -s ../../3.0rc2-candidates/build2/linux_info.txt

When ready for the automation to continue:

ln -s ../../3.0rc2-candidates/build2/win32_signing_build2.log win32_signing_build1.log

Build

  • linux and win32 builders commented out of master.cfg, so never started.
  • mac builds went fine

Sign

  • N/A

l10n Verify

  • automated, no problems

Update Generation

  • We only want updates for Mac, so comment out the buildID's in the patcher config - patch
  • Committed this to cvs after PatcherConfig ran but before patcher downloaded the builds
  • automated, no problems

Update Verify

  • expected gu-IN missing, as it did not ship before
  • automated, no problems

Stage

  • automated, no problems

Sign Installers

  • Done manually using these installer-signing-instructions here
  • Using find firefox-3.0rc2/batch1/stage-signed/ -type f | perl -nle '$a = $_; $a =~ s/rc2/rc3/g; $a =~ s/RC\ 2/RC 3/; system("diff -q \"$_\" \"$a\"");' and assorted greps, verified that
    • there are 47 differing dmg's (49 in shipped-locales less gu-IN and ja), and their asc's also differ
    • that the are 46 differing mac xpi's due to file times changing inside xpi (49 - gu-IN - ja - en-US)
    • there are 48 unchanged linux tar.gz, but there are 48 differing asc's
    • there are 48 differing win32 .exe (from resigning), with 48 differing asc's
    • the source tarball differs
  • Using find firefox-3.0rc2/batch1/mar/ -type f | perl -nle '$a = $_; $a =~ s/rc2/rc3/g; $a =~ s/rc1/rc2/; system("diff -q \"$_\" \"$a\"");' 2>&1 and assorted greps, verified that
    • that the 47 mac complete updates differ
    • that the 45 mac partial updates differ (no partial for 3.0rc1 -> 3.0rc2 for si & sl, first added for 3.0rc2)
    • that there are no windows or linux partial updates for 3.0rc3
    • that none of the 49 windows or linux complete updates differ
  • complete stage-merged:
# on stage
cd /data/cltbld/firefox-3.0rc3/
rsync -av batch1/mar/ stage-merged/
rsync -av batch1/stage-signed/ stage-merged/
  • Create MD5 and SHA1 checksum files
# on stage
cd /data/cltbld/firefox-3.0rc3/stage-merged/
~/bin/checksum-files .
  • Fix permissions & ownership (on the two SUM files, and the detached sigs)
chown -R cltbld:firefox .
chmod 644 *SUMS

Update Bouncer

  • Done manually

Push to mirrors

  • push the stage-merged directory to the releases area:
# on stage
rsync -av /data/cltbld/firefox-3.0/ /home/ftp/pub/firefox/releases/3.0/

Publish Updates to Beta & Release Channel

If you need to cancel/abort updates, the quickest way to do this is here

While waiting for formal "go" and mirror sync, backup existing beta channel

 # login to aus2-staging
 $ sudo su - cltbld
 # make sure using latest version of scripts
 $ cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot get -d bin mozilla/tools/release/bin/ 
   cvs checkout: Updating bin
 $ cd /opt/aus2/snippets/staging
 # note the required parameter must match what will be used with pushsnip below. 
 $ ~/bin/backupsnip 20080610-Firefox-3.0rc3

Once the mirror sync is good: on a linux/Mac build slave, run the quick updateverify test for the releastest channel

cd /builds/verify/firefox-3.0rc3/updates
# just mac this time
cat moz19-firefox-mac.cfg > releasetest.cfg
sed -i.bak 's/betatest/releasetest/' releasetest.cfg
./verify.sh -t releasetest.cfg 2>&1 | tee releasetest.log

Should be all HTTP/200 OK results e.g.:

grep 'HTTP' releasetest.log  | grep -v Found | grep -v 200

This test passed.

On aus2-staging, ensure that releasetest channel contents match beta channel contents (we also checked this earlier)

cd /opt/aus2/snippets/staging/20080610-Firefox-3.0rc3
find -type d -iregex '.*beta.*' | perl -nle '$a = $_; $a =~ s/beta/releasetest/; system("diff -r -u $_ ../20080610-Firefox-3.0rc3-test/$a");' 

No diffs found - which is correct.

Once QA and overall driver gives formal "go" to put updates on beta channel

 # login to aus2-staging
 $ sudo su - cltbld
 $ cd /opt/aus2/snippets/staging
 $ ~/bin/pushsnip 20080610-Firefox-3.0rc3