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] Repeatability requires identifying tool versions, generated inputs and configuration as well as the main source files.

New to topics? Read the docs here!