Learning path

Full curriculum

Full curriculum

Unit content

Continuous integration

Continuous integration (CI) means integrating small changes frequently and verifying each candidate shared revision automatically.

A CI pipeline commonly starts from a clean checkout, resolves the declared build inputs and runs checks such as formatting, static analysis, compilation and automated tests.

The important property is that the result is attached to a specific revision. “Tests passed on my machine” is weaker evidence than the candidate commit passing the project's standard checks in a controlled environment.

CI works best when the main branch remains close to releasable. Long-lived branches accumulate divergent assumptions and make integration failures larger and harder to diagnose.

A failing required check should prevent an unverified revision from becoming the trusted shared baseline. Flaky checks weaken this signal because developers learn that red does not necessarily mean broken.

CI therefore shortens the feedback loop between making a change and discovering that it conflicts with the rest of the system.