QCon San Francisco 2010. Google tools for CI. Accessing Source Code. How the Build System works. Distributing Build Steps. This is the third in a four part series describing how we use the cloud to scale building and testing of software at Google. This series elaborates on a presentation given during the Pre-GTAC 2010 event in Hyderabad. Please see our first post in the series for a description how we access our code repository in a scalable way.
To get a sense of the scale and details on the types of problems we are solving in Engineering Tools at Google take a look at this post. The two previous posts described a custom file system for providing access to source code hosted in the cloud, and how the build system works. First, the build system is content-based where the internal bookkeeping for inputs and outputs is based on content digest, not file and timestamp (as in Make). Second, the build system reads BUILD files to construct a graph of dependencies, and then uses the dependency graph to construct a graph of build actions or build steps. An example of the action graph. Stay tuned! Distributing Build Outputs.