Firefox 3.0rc3:BuildNotes: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Replacing page with '=Build Engineers= nthomas =Notes= The aim is to prepare a firefox/releases/3.0 directory with appropriately named copies of the files from the RCs. To do * script file rena...')
Line 2: Line 2:


nthomas
nthomas
=Bonsai queries=
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-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]
=Bugs=
Tracking bug for Firefox 3.0rc3 - {{bug|438261}}
=Tags=
{| class="fullwidth-table"
| style="background:#efefef" | '''Module'''
| style="background:#efefef" | '''Tag'''
| style="background:#efefef" | '''Pull date'''
|-
| rowspan="3" | 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
|-
| rowspan="3" | 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=
{| class="fullwidth-table"
| style="background:#efefef" | '''Type'''
| style="background:#efefef" | '''Build ID'''
| style="background:#efefef" | '''SHA1'''
| style="background:#efefef" | '''Push date'''
| style="background:#efefef" | '''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=
=Notes=


==Build 1==
The aim is to prepare a firefox/releases/3.0 directory with appropriately named copies of the files from the RCs.
 
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 - [https://bugzilla.mozilla.org/show_bug.cgi?id=413178 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 - [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===
* 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 [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===
* Done manually
 
===Push to mirrors===
 
===Push to mirrors===
* push the stage-merged directory to the releases area:
# on stage
rsync -av /data/cltbld/firefox-3.0rc3/stage-merged/ /home/ftp/pub/firefox/releases/3.0rc3/
 
===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.


Once QA and overall driver gives formal "go" to put updates on beta channel
To do
  # login to aus2-staging
* script file renames
  $ sudo su - cltbld
* resign ?
  $ cd /opt/aus2/snippets/staging
* set up bouncer
  $ ~/bin/pushsnip 20080610-Firefox-3.0rc3
* update rsync exclude file for mozilla-current to add 3.0, and remove 1.5.0.14

Revision as of 17:12, 13 June 2008

Build Engineers

nthomas

Notes

The aim is to prepare a firefox/releases/3.0 directory with appropriately named copies of the files from the RCs.

To do

  • script file renames
  • resign ?
  • set up bouncer
  • update rsync exclude file for mozilla-current to add 3.0, and remove 1.5.0.14