Automated software build
ID: automated-software-build
An automated software build turns declared source inputs and dependencies into outputs through repeatable tool steps, such as code generation, compilation, linking and packaging. A build description defines those steps and their dependencies; a build system decides their order and may reuse outputs whose relevant inputs have not changed.
For example, changing a header can require recompiling several source files before relinking a computer program. Omitting that dependency can produce a stale executable even when every individual compiler invocation succeeds. In continuous integration, the automated build provides a repeatable check of the integrated revision, often combined with tests.[ref]
Continuous Integration by Martin Fowler. Automate the Build and Make the Build Self-Testing
Repeatability requires identifying tool versions, generated inputs and configuration as well as the main source files. New to topics? Read the docs here!