BuildRequest is a request to build a specific set of source code (specified by one or more source stamps) on a single
Builder runs the
BuildRequest as soon as it can (i.e. when an associated worker becomes free).
BuildRequests are prioritized from oldest to newest, so when a worker becomes free, the
Builder with the oldest
BuildRequest is run.
BuildRequest contains one
SourceStamp specification per codebase. The actual process of running the build (the series of
Steps that will be executed) is implemented by the
Build object. In the future this might be changed, to have the
Build define what gets built, and a separate
BuildProcess (provided by the Builder) to define how it gets built.
BuildRequest may be mergeable with other compatible
BuildRequests. Builds that are triggered by incoming
Changes will generally be mergeable. Builds that are triggered by user requests are generally not, unless they are multiple requests to build the latest sources of the same branch. A merge of buildrequests is performed per codebase, thus on changes having the same codebase.