ReleaseEngineering/Archive/Promote Unagi to beta
Convert date to build ID
Since we build nightly and beta as separate builds, their build IDs may be different. You need to find build ID for the beta build. For example, if release-drivers want to promote 12-12-12 build:
- go to http://update.boot2gecko.org/betatest/
- search for update_20121212*.xml
- open that file and search for buildID (20121212102240 in my case)
Note that we do two 'nightlies' a day, so the initial request has to be precise enough to distinguish which to use.
Publish updates
To make updates work properly you need to copy 2 files from the betatest direcotry to the beta directory:
- MAR file (you also need to rename it)
- application.ini file
Use a buildbot master as a jump host:
ssh -i .ssh/b2gbld_dsa ec2-user@update.boot2gecko.org bid=20121212102240 cd /data/update-channels/beta cp -avi ../betatest/b2g_update_$bid.mar ./b2g_beta_update_$bid.mar cp -avi ../betatest/b2g_update_source_$bid.xml ./b2g_beta_update_$bid.xml cp -avi ../betatest/application_$bid.ini .
- Double check if http://update.boot2gecko.org/beta/update.xml returns proper build ID
Upload image file for flashing
The flashing doc points to https://releases.mozilla.com/b2g-testdrivers/unagi_beta_latest.zip, so we need to update that too.
First you need to identify the unagi.zip file corresponding to the update pushed.
- If you are given an URL to publish like https://pvtbuilds.mozilla.org/pub/mozilla.org/b2g/nightly/mozilla-b2g18-unagi/2013/01/2013-01-04-07-02-03/ then you should be able to substitute mozilla-b2g18-unagi_betatest for mozilla-b2g18-unagi. If you get a 404 from the ftp server it means the buildIDs are different, skip to the next point
- Otherwise use the buildID you figured out above to locate the beta channel build at https://pvtbuilds.mozilla.org/pub/mozilla.org/b2g/nightly/mozilla-b2g18-unagi_betatest/YYYY/MM/YYYY-MM-DD-HH-mm-ss/. Use the buildID you had earlier to substitute the YYYY, MM etc (eg 20130104070203 becomes 2013/01/2013-01-04-07-02-03).
The key thing is to make sure that the sources.xml files matche for the nightly build which QA signed off on, and the build you are publishing. A diff of the two files is good way to do that.
From that directory download the unagi.zip as unagi_beta_$bid.zip
Copy it to stage.m.o using one of the masters:
set +o history #bid=BUILDID #DATESTR=YYYY/MM/YYYY-MM-DD-HH-mm-ss #USERNAME=foo@mozilla.com #PASSWD="PASSWD" wget --http-user="$USERNAME" --http-password="$PASSWD" \ -O "unagi_beta_$bid.zip" \ https://pvtbuilds.mozilla.org/pub/mozilla.org/b2g/nightly/mozilla-b2g18-unagi_betatest/$DATESTR/unagi.zip chmod 644 unagi_beta_$bid.zip rsync -avP -e "ssh -i $HOME/.ssh/b2gbld_dsa" \ unagi_beta_$bid.zip b2gbld@stage.mozilla.org:/mnt/netapp/stage/releases.mozilla.com/b2g-testdrivers/ ssh -i $HOME/.ssh/b2gbld_dsa b2gbld@stage.mozilla.org \ ln -sf unagi_beta_$bid.zip /mnt/netapp/stage/releases.mozilla.com/b2g-testdrivers/unagi_beta_latest.zip # do the double check? requires manual password entry: curl -I --user $USERNAME https://releases.mozilla.com/b2g-testdrivers/unagi_beta_latest.zip curl -I --user $USERNAME https://releases.mozilla.com/b2g-testdrivers/unagi_beta_$bid.zip
- Double check if you can download the files using
* https://releases.mozilla.com/b2g-testdrivers/unagi_beta_latest.zip * https://releases.mozilla.com/b2g-testdrivers/unagi_beta_$bid.zip