ReleaseEngineering/Archive/Promote Unagi to beta: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(updates based on usage)
Line 11: Line 11:
</pre>
</pre>
They will probably not tell you what branch that came from, so you need to search for ''releng-beta.py'' in [http://hg.mozilla.org/build/buildbot-configs/file/production/mozilla/b2g_config.py b2g_config.py].
They will probably not tell you what branch that came from, so you need to search for ''releng-beta.py'' in [http://hg.mozilla.org/build/buildbot-configs/file/production/mozilla/b2g_config.py b2g_config.py].
<pre>
curl -sS http://hg.mozilla.org/build/buildbot-configs/file/production/mozilla/b2g_config.py \
| grep releng-beta.py | sed 's,.*>,,' | awk -F \' '{print $2}'
</pre>
 


Now you know the $buildID and the $branch for the following steps, substitute as necessary.
Now you know the $buildID and the $branch for the following steps, substitute as necessary.
Line 25: Line 30:
  cp -avi ../nightly/application_${buildID}.ini .
  cp -avi ../nightly/application_${buildID}.ini .
* Verify that http://update.boot2gecko.org/beta/update.xml returns proper $buildID
* Verify that http://update.boot2gecko.org/beta/update.xml returns proper $buildID
curl -sS http://update.boot2gecko.org/beta/update.xml | sed 's,^.*buildID=,, ; s, .*$,,' | grep '^"'
exit # logout from host


Announce this by sending email to: b2g-release-drivers@. Sample:
Announce this by sending email to: b2g-release-drivers@. Sample:
Line 55: Line 62:
   ln -sfv unagi_beta_${buildID}.zip /mnt/netapp/stage/releases.mozilla.com/b2g-testdrivers/unagi_beta_latest.zip
   ln -sfv unagi_beta_${buildID}.zip /mnt/netapp/stage/releases.mozilla.com/b2g-testdrivers/unagi_beta_latest.zip
  fi
  fi
* Note, if "<tt>$sourcefile</tt>" isn't found, the build directory date may be a few seconds off from the buildID value. Reset the sourcefile value and try again:
sourcefile="/mnt/pvt_builds/pub/mozilla.org/b2g/nightly/${branch}-unagi/${datestr:0:${#datestr}-1}?/unagi.zip"


* Double check if you can download the files using
* 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_latest.zip
  * https://releases.mozilla.com/b2g-testdrivers/unagi_beta_${buildID}.zip
  * https://releases.mozilla.com/b2g-testdrivers/unagi_beta_${buildID}.zip
# from the command line - ETag & size should be identical in headers
# you'll be prompted for your ldap password
curl -I --user $USER@mozilla.com https://releases.mozilla.com/b2g-testdrivers/unagi_beta_latest.zip
curl -I --user $USER@mozilla.com https://releases.mozilla.com/b2g-testdrivers/unagi_beta_${buildID}.zip


= Create RIL repack =
= Create RIL repack =

Revision as of 03:17, 14 February 2013


Provided information

QA will ask us to promote a build with information like this:

Release Engineering Reference - Please PROMOTE THE FOLLOWING BUILD:
Build updated from:
·         gecko: e86df153bcab6e1b645e187c646b0c64e97bd68d
·         gaia: 21cedfd1787f4aff26721fc0f160e771db5cd67d
·         build ID: 20130211070202

They will probably not tell you what branch that came from, so you need to search for releng-beta.py in b2g_config.py.

curl -sS http://hg.mozilla.org/build/buildbot-configs/file/production/mozilla/b2g_config.py \
| grep releng-beta.py | sed 's,.*>,,' | awk -F \' '{print $2}'


Now you know the $buildID and the $branch for the following steps, substitute as necessary.

Publish update to beta channel

To make updates work properly you need to copy some files from the nightly directory to the beta directory.

Use a buildbot master as a jump host:

ssh -i .ssh/b2gbld_dsa ec2-user@update.boot2gecko.org
buildID=<your $buildID here>
cd /data/update-channels/beta
cp -avi ../nightly/b2g_update_${buildID}.mar ./b2g_beta_update_${buildID}.mar
cp -avi ../nightly/b2g_update_source_${buildID}.xml ./b2g_beta_update_${buildID}.xml
cp -avi ../nightly/application_${buildID}.ini .
curl -sS http://update.boot2gecko.org/beta/update.xml | sed 's,^.*buildID=,, ; s, .*$,,' | grep '^"'
exit # logout from host

Announce this by sending email to: b2g-release-drivers@. Sample:

Subject: [release] #buildID# is now promoted for dogfooders
=====
This should be available for people to see immediately. 
For reference, this build used the following changesets:
gecko: <copy paste from the source.xml>
gaia: <copy paste from the source.xml>
Thanks
[RelEng human]

Publish 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.

Use a buildbot master as a jump host:

ssh -i .ssh/b2gbld_dsa b2gbld@stage.mozilla.org
buildID=<your $buildID here>
branch=<your $branch here>
datestr=`echo $buildID | sed -r 's,([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2}),\1/\2/\1-\2-\3-\4-\5-\6,'`
sourcefile="/mnt/pvt_builds/pub/mozilla.org/b2g/nightly/${branch}-unagi/${datestr}/unagi.zip"
if [ ! -e $sourcefile ]; then
  echo ERROR: $sourcefile not found, check variables
else
  cp -avi $sourcefile  \
          /mnt/netapp/stage/releases.mozilla.com/b2g-testdrivers/unagi_beta_${buildID}.zip && \
  ln -sfv unagi_beta_${buildID}.zip /mnt/netapp/stage/releases.mozilla.com/b2g-testdrivers/unagi_beta_latest.zip
fi
  • Note, if "$sourcefile" isn't found, the build directory date may be a few seconds off from the buildID value. Reset the sourcefile value and try again:
sourcefile="/mnt/pvt_builds/pub/mozilla.org/b2g/nightly/${branch}-unagi/${datestr:0:${#datestr}-1}?/unagi.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_${buildID}.zip
# from the command line - ETag & size should be identical in headers
# you'll be prompted for your ldap password
curl -I --user $USER@mozilla.com https://releases.mozilla.com/b2g-testdrivers/unagi_beta_latest.zip
curl -I --user $USER@mozilla.com https://releases.mozilla.com/b2g-testdrivers/unagi_beta_${buildID}.zip

Create RIL repack

The $datestr from above is used for UNAGI_DATE in these instructions

Notify partners

details here