Continuous integration (CI) is the practice of automatically building and testing code every time it changes, via automated jobs a hosting platform runs against each push or pull request rather than a human running them by hand.
A CI pipeline typically runs on every push to a branch or every update to a πpull request: installing dependencies, running the test suite, and often running linters or security scanners, then reporting a pass/fail status back to the platform. Each named job β commonly test, lint, or security β becomes a distinct status check the platform can require before allowing a merge, via πbranch protection.
CI matters most for concurrent or automated work because it removes a human from the loop of verifying that a given branch is safe to merge, which is what lets a rule like "require passing checks before merge" function without someone manually re-running tests before every approval. The tradeoff is speed for confidence: a CI run takes real wall-clock time, so protocols built around it β a retry-after-sync loop, for example β are designed around waiting for it rather than skipping it.
