Next: , Previous: BuildSet, Up: Concepts

3.4 BuildRequest

A BuildRequest is a request to build a specific set of sources on a single specific Builder. Each Builder runs the BuildRequest as soon as it can (i.e. when an associated buildslave becomes free). BuildRequests are prioritized from oldest to newest, so when a buildslave becomes free, the Builder with the oldest BuildRequest is run.

The BuildRequest contains the SourceStamp specification. The actual process of running the build (the series of Steps that will be executed) is implemented by the Build object. In this 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 is created with optional Properties. One of these, owner, is collected by the resultant Build and added to the set of interested users to which status notifications will be sent, depending on the configuration for each status object.

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