ReleaseEngineering/Applications/BuildAPI
includes self-serve, wait time reports, pending/running
Source Code
http://hg.mozilla.org/build/buildapi
Public Interfaces
https://secure.pub.build.mozilla.org/buildapi/ (requires LDAP account with try server commit access or better)
https://secure-pub-build.allizom.org/buildapi/
Current Setup
production instance is running on buildapi01.build.mozilla.org as the 'buildapi' user. There is a cron job that checks for new changes every 5 minutes and deploys them. This instance is exposed to the public behind LDAP auth via proxy from the build.m.o url.
The buildapi instance communicates with a rabbitmq server on rabbit2.build.scl1.mozilla.com. It also connects to two read-only databases (schedulerdb, statusdb) on a slave mysql host maintained by IT.
The self-serve agent, which is responsible for performing many of the job requests, is running on buildbot-master36 out of /builds/buildbot/selfserve-agent. It is a long-running process that waits for messages from the rabbitmq server on cruncher, and then makes various DB modifications or pokes at masters' web interfaces. The self-serve agent is started via init, and monitored via nagios.
To modify the list of branches supported by buildapi and self-serve, read ReleaseEngineering/BuildAPI#Maintenance
Setup Instructions
Described at ReleaseEngineering/BuildAPI