From MozillaWiki
Jump to: navigation, search

Build Engineers

Version/config bump bug

Bonsai queries

Build 1:


Updated CVS Tags devmo page.

Build 1:

Module Branch Tag Pull date
cvsroot/mozilla MOZILLA_1_8_BRANCH FIREFOX_2_0_0_16_BUILD1
2008-07-02 02:13 PDT
l10n/l10n MOZILLA_1_8_BRANCH FIREFOX_2_0_0_16_BUILD1
2008-07-02 02:13 PDT

Build data

Type Build ID SHA1 Push date Build machine
[Windows installer/zip] 2008070205 production-pacifica-vm
[Mac compressed] 2008070205 bm-xserve05
[Linux compressed] 2008070204 production-prometheus-vm


Build 1

Bootstrap tag: RELEASE_AUTOMATION_M10 Setup before starting:

  • Updated /builds/buildbot/Automation/buildbot-configs on production-1.8-master.
    • master.cfg is "Locally Modified" to contain passwords. Identical to repository version otherwise.
    • Turned off the nightly builders on production-1.8-master to make sure they don't interfere with the release. (We need to figure out how to avoid this in the future).
    • update mozilla1.8 tinderbox to say "no nightlies right now"
    • Ran 'buildbot reconfig'
  • update /builds/tinderbox/mozilla/tools/tinderbox to the Bootstrap tag (need to revert this before restarting nightlies)
    • Had to tag this first. It was missed when RELEASE_AUTOMATION_M10 was created.
  • ensure that machines have enough resources
    • production-prometheus-vm - 32G on /
    • production-1.8-master - 11G on /builds, 4G on /data
    • production-pacifica-vm - 33.4G on c:
    • bm-xserve05 - 32G on /


Automated, no problems.


Automated, no problems.


Automated, no problems.


No problems


  • Signing doc
  • Accidentally ran 'find . -size +10000 -exec rm {} \;' in ~/signing-work while signing This command deleted a ton of old builds, and broke the signing. Had to restart signing from the beginning.


No changes

Generate Updates

  • No problems.

Publish Updates to Test Channels (betatest & releasetest)

No problems

Update Verify

No problems


No problems

Push Updates to Beta Channels

-bash-3.2$ time ~/bin/backupsnip 20080703-Firefox-
Running /bin/tar cfvj /opt/aus2/snippets/backup/20080703-3-pre-20080703-Firefox- .

real	28m28.028s
user	0m23.019s
sys	0m34.685s
~/bin/pushsnip 20080703-Firefox-

Sign Installers

Done manually using these installer-signing-instructions here

  • complete stage-merged:
# on stage
cd /data/cltbld/firefox-
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-
~/bin/checksum-files .
  • Fix permissions & ownership (on the two SUM files, and the detached sigs)
chown -R cltbld:firefox .
chmod 644 *SUMS

Update Bouncer

  • Manually added entries to

Add release to rsync module

On, add the new release to the smaller, faster, rsync module:

# on stage (as cltbld)
cd /pub/
vi rsyncd-mozilla-current.exclude 

and replace the previous latest release (FF2.0.0.15) with:

+ firefox/releases/
+ firefox/releases/**

Push to mirrors

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

Final Verification

  • Verify that releasetest points to valid bouncer links:
# this can be run from anywhere
cvs co mozilla/testing/release
cd mozilla/testing/release/updates
cat moz18-firefox-*.cfg | grep -v major | sed 's/betatest/releasetest/' | grep -v 2.0a | grep -v 2.0b > update.cfg
./ -t update.cfg 2>&1 | tee quickVerify.log
  • Look for any HTTP error codes besides 200 ("OK") and 302 ("Found"):
grep HTTP quickVerify.log | grep -v 200 | grep -v 302
  • Before pushing final updates,verify that "release" and "releasetest" channel match:
# on aus2-staging
cd /opt/aus2/snippets/staging/20080703-Firefox-
find -type d -iregex '.*release.*' | perl -nle '$a = $_; $a =~ s/release/releasetest/; system("diff -r -u $_ ../20080703-Firefox-$a");'

Publish Updates to Release Channel

  • In case you need to cancel/abort updates, the quickest way to do this is here
  • While waiting for QA to finish testing, do a backup:
 # as cltbld on
 $ cd /opt/aus2/snippets/staging
 $ time ~/bin/backupsnip 20080703-Firefox-
real	34m11.108s
user	0m22.534s
sys	0m32.862s


Free Software Builds

  • Bump the BuildTag definition in the three, like this
  • Done on production machines:
    • production-pacifica-vm (win32)
    • bm-xserve05 (macosx)
    • production-prometheus-vm (linux)
  • Start builds:
cd /builds/tinderbox/Fx-Mozilla1.8-FS
./ --once --depend --config-cvsup-dir `pwd`/tinderbox-configs/ 2>&1 | tee FIREFOX_2_0_0_16build1_FS.log
  • Stage
# as cltbld@stage
mkdir -p ~/firefox-
cd ~/firefox-
# rsync from push dirs
rsync -av /home/ftp/pub/firefox/nightly/2008-07-03-07-mozilla1.8-fs/ ./prestage/
rsync -av prestage/ prestage-trimmed/
rm -v prestage-trimmed/*.zip
rsync -av prestage-trimmed/ stage/
cd stage
~/bin/groom-files --long="" .
chown -R cltbld:firefox * .
find . -type f -exec chmod -v 644 {} \;
find . -type d -exec chmod -v 755 {} \;
cd ../
rsync -av stage/ /home/ftp/pub/firefox/releases/