The build application will be the central place for queuing, monitoring, and viewing exp-run results. It will have an HTML and JSON REST interface. It will also display production package build status. This application will be the “master” for exp-runs.
New builds will be queued into the master. They may or may not have patches. Patches can be for the ports tree or src tree. Builds can be configured to do a comparison once completed against a known good build to find new failures.
Client builders will check in to the master and ask for work. They will occasionally report their status as well.
Lost/crashed builds will be retried a few times before being marked failed.
Results will list the following:
id: uuid
request_key: sha256("request", builder hostname, uuid, token)
response_key: sha256("response", builder hostname, uuid, token)