ReleaseEngineering/How To/Update BuildAPI

From MozillaWiki
Jump to navigation Jump to search

BuildAPI is composed of a web application plus an agent that runs on a few buildmasters (self-serve agent). Also see ReleaseEngineering/BuildAPI

So, how do you update one of those?

Common

Build a new sdist tarball of BuildAPI, using normal python techniques, and upload it to the puppetagain python repository at releng-puppet2.srv.releng.scl3.mozilla.com (/data/python/packages on the distinguished puppetmaster).

 python setup.py sdist
 scp dist/buildapi-0.2.4.tar.gz releng-puppet2.srv.releng.scl3.mozilla.com:
 ssh releng-puppet2.srv.releng.scl3.mozilla.com
 sudo buildapi-0.2.4.tar.gz /data/python/packages
 cd /data/python/packages
 sudo chown puppetsync:puppetsync buildapi-0.2.4.tar.gz
 sudo chmod 664 buildapi-0.2.4.tar.gz

Web Application

  • Push new version of BuildAPI to HG
    • Edit setup.py to show the updated version (ie version='0.2.3' becomes version='0.2.4')
  • Comment out tag_build in setup.cfg - tag_build appends tarball name, among other things
  • Login to relengwebadm.private.scl3.mozilla.com and become root. Go to /data/releng-stage/src/buildapi (or /releng/ for production) and have a look at README.txt. Where 0.2.4 is the version you want to install, it boils down to:
 ./update 0.2.4

Self-Serve Agent

Update the version number in puppet, get review, land, and merge to production.