Releases/Firefox 2.0.0.16-3.0.1 MU:BuildNotes: Difference between revisions

No edit summary
 
(27 intermediate revisions by 2 users not shown)
Line 44: Line 44:
  for i in [list of channels that don't start with release-]; do echo $i >> partner-update-channels && echo "beta-$i" >> partner-update-channels && echo "betatest-$i" >> partner-update-channels && echo "releasetest-$i" >> partner-update-channels; done
  for i in [list of channels that don't start with release-]; do echo $i >> partner-update-channels && echo "beta-$i" >> partner-update-channels && echo "betatest-$i" >> partner-update-channels && echo "releasetest-$i" >> partner-update-channels; done
  # now we have a complete list of partner channels to generate snippets for
  # now we have a complete list of partner channels to generate snippets for
cd temp/firefox/3.0.1
bash ../../../one-offs/null_partners.sh ../../../partner-update-channels


== Generate null snippets ==
== Generate null snippets ==
Line 78: Line 76:
  find aus2.test/ -type d -name "nightly*" -exec rm -rfv {} \; 2>&1 | tee -a test_remove.log
  find aus2.test/ -type d -name "nightly*" -exec rm -rfv {} \; 2>&1 | tee -a test_remove.log
  find aus2.test/ -type d -name "Windows*" -exec rm -rfv {} \; 2>&1 | tee -a test_remove.log
  find aus2.test/ -type d -name "Windows*" -exec rm -rfv {} \; 2>&1 | tee -a test_remove.log
== Move null snippets to their own directory ==
mkdir aus2.null
rsync -av aus2/ aus2.null/
rsync -av aus2.beta/ aus2.null/
rsync -av aus2.test/ aus2.null/
# trim non-partner snippets from the null directory
find aus2.null -type d -mindepth 6 -maxdepth 6 | egrep '.*\/(release|releasetest|beta|betatest)$' | xargs rm -rfv 2>&1 | tee -a ../null_remove.log
# trim partner snippets from the other directories
find aus2.test -type d -mindepth 6 -maxdepth 6 | egrep '.*\/(release|beta)test-.*$' | xargs rm -rfv 2>&1 | tee -a ../test_remove.log
find aus2.beta -type d -mindepth 6 -maxdepth 6 | egrep '.*\/beta-.*$' | xargs rm -rfv 2>&1 | tee -a ../beta_remove.log
find aus -type d -mindepth 6 -maxdepth 6 | egrep -v '.*\/release$' | xargs rm -rfv 2>&1 | tee -a ../release_remove.log
== Verify correct snippets are in correct directories ==
Make sure that only betatest/releasetest snippets are in aus2.test, beta snippets in aus2.beta, and release snippets in aus2
# aus2.null
find aus2.null -type d -mindepth 6 -maxdepth 6 | cut -d / -f 7 | egrep '^(release-*|releasetest-*|beta-*|betatest-*)'
# aus2.test
find aus2.test -type d -mindepth 6 -maxdepth 6 | cut -d / -f 7 | egrep -v '^(beta|release)test$'
# no output
# beta
find aus2.beta -type d -mindepth 6 -maxdepth 6 | cut -d / -f 7 | egrep -v '^beta$'
# no output
# release
find aus2 -type d -mindepth 6 -maxdepth 6 | cut -d / -f 7 | egrep -v '^release$'
= Push snippet directories to aus2-staging =
rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2 cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20080820-Firefox-2.0.0.16-3.0.1-MU
rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2-beta cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20080820-Firefox-2.0.0.16-3.0.1-MU-beta
rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2-test cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20080820-Firefox-2.0.0.16-3.0.1-MU-test
rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2-null cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20080820-Firefox-2.0.0.16-3.0.1-MU-null
= Push null & test snippets live =
cd /opt/aus2/snippets/staging
~/bin/backupsnip 20080820-Firefox-2.0.0.16-3.0.1-MU-null
~/bin/pushsnip 20080820-Firefox-2.0.0.16-3.0.1-MU-null
~/bin/backupsnip 20080820-Firefox-2.0.0.16-3.0.1-MU-test
~/bin/pushsnip 20080820-Firefox-2.0.0.16-3.0.1-MU-test
= Fix up null partner snippets to target 2.0.0.14 =
After partner snippets were pushed I was informed that the latest partner builds we shipped were for 2.0.0.14. Therefore, the snippets pushed are useless. To fix them up, did the following:
# cltbld@prometheus-vm
cd /builds/2.0.0.16-major-update/snippets/patcher/temp/firefox/2.0.0.16-3.0.1
cd aus2.null/Firefox
mv 2.0.0.16 2.0.0.14
cd 2.0.0.14/Darwin_Universal-gcc3
mv 2008070205 2008040413
cd ../Linux_x86-gcc3
mv 2008070204 2008040414
cd ../WINNT_x86-msvc
mv 2008070205 2008040413
Also had to generate snippets for another partner channel for 2.0.0.16 (https://bugzilla.mozilla.org/show_bug.cgi?id=450863#c5)
To do that, did the following:
cd /builds/2.0.0.16-major-update/snippets/patcher
echo "release-cck-asus-google" >> additional-partner-channels
echo "releasetest-cck-asus-google" >> additional-partner-channels
echo "beta-cck-asus-google" >> additional-partner-channels
echo "betatest-cck-asus-google" >> aditional-partner-channels
cd temp/firefox/2.0.0.16-3.0.1
# modified null_partners.sh to only generage snippets in aus2.null
bash ../../../one-offs/null_partners.sh ../../../additional-partner-channels
Did a spot check of aus2.null, looked good. Pushed new snippets to aus2-staging:
rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2.null cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20080821-Firefox-MU-null-partner-snippets
= Verify null partner updates =
Modified create_aus_urls.txt to use a different set of locales for each platform and read partner channels from a file. Lists of locales for each platform are in ${platform}_locales.txt. List of partner channels in partner-update-channels. Generated URLs as follows:
./create_aus_urls.sh
Used test_null_updates.sh to test all snippets:
./test_null_updates.sh mu-2.0.0.14-3.0.1-null-urls.txt 2>&1 | tee before.log
# grep the log for any non-passes
grep -v '^PASS'
# no output - everything is good!
= Update verify =
Ran update verify on fx-{linux,mac,win32}-1.9-slave2 as follows:
mkdir -p /builds/verify/firefox-20016-301-real-major/
cd /builds/verify/firefox-20016-301-real-major/
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d updates mozilla/testing/release/updates/
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d common mozilla/testing/release/common/
# get patch to trawl "Only in" directories
cd common
# on mac & linux
curl -s https://bugzilla.mozilla.org/attachment.cgi?id=304252 | patch -p0
# on win32
wget --no-check-certificate -O patch https://bugzilla.mozilla.org/attachment.cgi?id=304252
patch -p0 < patch
  cd ../updates
./verify.sh -c moz18-firefox-$platform-major.cfg 2>&1 | tee $platform.log
# had to kick along some of them because they hit slow bouncer mirrors.
# did this by killing the wget process (which makes it retry)
= Add 'sl' MU snippets + null partner snippets =
sl was missed in the patcher config file for the original run :(. To fix, re-ran steps 3 and 4.2 from above. Then separated out beta snippets into their own directory:
rsync aus2/ aus2.beta/
find aus2/ -type d -name "beta*" -exec rm -rfv {} \; 2>&1 | tee -a release_remove.log
find aus2.beta/ -type d -name "release*" -exec rm -rfv {} \; 2>&1 | tee -a beta_remove.log
Then synced sl snippets over to aus2-staging:
rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20080821-Firefox-MU-sl-only/
rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2.test/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20080821-Firefox-MU-sl-only-test/
rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2.beta/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20080821-Firefox-MU-sl-only-beta/
rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2.null/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20080821-Firefox-MU-sl-only-null-partner-snippets/
Pushed null and test snippets:
~/bin/pushsnip 20080821-Firefox-MU-sl-only-null-partner-snippets
~/bin/pushsnip 20080821-Firefox-MU-sl-only-test
= Separate ja-JP-mac snippets into a separate directory =
We aren't likely going to be doing a 2.0.0.16->3.0.1 ja-JP-mac update but nonetheless we should keep these snippets around. If we end doing the update the new directories can be pushsnip'ed to enable it. test channel snippets were not separated out, but  deleted from the live snippet dirs :(. If we need ja-JP-mac 2.0.0.16->3.0.1 test channel snippets we'll have to regenerate them.
# cltbld@aus2-staging.mozilla.org
cd /opt/aus2/snippets/staging
rsync -av 20080820-Firefox-2.0.0.16-3.0.1-MU 20080821-Firefox-MU-ja-JP-mac-only
rsync -av 20080820-Firefox-2.0.0.16-3.0.1-MU-beta 20080821-Firefox-MU-ja-JP-mac-only-beta
cd 20080821-Firefox-MU-ja-JP-mac-only
mv 20080820-Firefox-2.0.0.16-3.0.1-MU/Firefox .
rmdir 20080820-Firefox-2.0.0.16-3.0.1-MU
find . -mindepth 5 -maxdepth 5 | grep -v ja-JP-mac | xargs rm -rfv
cd 20080821-Firefox-MU-ja-JP-mac-only-beta
mv 20080820-Firefox-2.0.0.16-3.0.1-MU/Firefox-beta .
rmdir 20080820-Firefox-2.0.0.16-3.0.1-MU-beta
find . -mindepth 5 -maxdepth 5 | grep -v ja-JP-mac | xargs rm -rfv
# now remove ja-JP-mac from the original directories
cd ../20080820-Firefox-2.0.0.16-3.0.1-MU/
find . -maxdepth 5 -mindepth 5 | grep 'ja-JP-mac' | xargs rm -rfv
cd ../20080820-Firefox-2.0.0.16-3.0.1-MU-beta/
find . -maxdepth 5 -mindepth 5 | grep 'ja-JP-mac' | xargs rm -rfv
= update-verify log =
We manually scanned the update verify logs. Also compared logs with Nick's earlier update verify. Noted some differences in logs for:
sk - mac
sl - all
ru - linux, mac
ja-JP - mac
mn - win32
mb-NO - win32
nl - win32
...so ask QA to add these to the spotchecking list. Just in case.
* There is a Bulgarian (bg) locale in FF2.0.0.x, but there is no Bulgarian (bg) locale in FF3.0.x yet. This means we cannot do a major update for bg yet. I confirmed there are no update snippets for bg, so we are all ok.
= '''Push update snippets to beta channel''' =
First do backup:
sudo su - cltbld
cd /opt/aus2/snippets/staging
time ~/bin/backupsnip 20080820-Firefox-2.0.0.16-3.0.1-MU-beta
real    65m41.991s
user    1m15.712s
sys    1m9.448s
To push to beta the following directories need to be pushsnip'ed on aus2-staging:
# contains every locale except 'sl'
time ~/bin/pushsnip 20080820-Firefox-2.0.0.16-3.0.1-MU-beta
real    0m12.339s
user    0m0.013s
sys    0m0.521s
# only contains 'sl'
time ~/bin/pushsnip 20080821-Firefox-MU-sl-only-beta
real    0m0.467s
user    0m0.002s
sys    0m0.031s
= '''Push update snippets to release channel''' =
* '''In case you need to cancel/abort updates, the quickest way to do this is [https://intranet.mozilla.org/Build:Updates here]'''
* First do backup:
sudo su - cltbld
cd /opt/aus2/snippets/staging
time ~/bin/backupsnip 20080820-Firefox-2.0.0.16-3.0.1-MU
To push to release the following directories need to be pushsnip'ed on aus2-staging:
# contains every locale except 'sl'
time ~/bin/pushsnip 20080820-Firefox-2.0.0.16-3.0.1-MU
real    0m11.777s
user    0m0.019s
sys    0m0.590s
# only contains 'sl'
time ~/bin/pushsnip 20080821-Firefox-MU-sl-only
real    0m0.500s
user    0m0.003s
sys    0m0.044s
Confirmed users
2,679

edits