Automated software build 2026-11-05
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.
Continuous integration Created 2026-10-20 Updated 2026-11-05
Continuous integration is a software engineering practice in which collaborators frequently combine small changes into a shared main line, conventionally at least daily, and check each integration through an automated software build and software testing. Fast feedback makes incompatible assumptions visible while the changes are still small. A server that tests isolated development branches contributes automation; frequent integration into the shared main line is the defining collaboration practice.[ref]
For example, one developer changes a parser to return a new data structure, while another changes code that consumes the result. Each component can pass its own isolated unit tests while their combination fails. Integration testing of the shared revision exercises that interface and exposes the mismatch. The build result should identify the tested source revision so that a failure can be reproduced.