Theory

Updated

October 30, 2026

Theory: CI is a Function from Git Events to Jobs

A webhook or native parser turns a ref movement into a graph of jobs. Runners are the computers. GitOps later inverts this: the cluster pulls desired state from Git.

Invariants

  1. Webhooks are the universal outbound event.
  2. Native CI (Actions, GitLab CI, Gitea Actions) stores YAML in Git.
  3. External CI (Jenkins, Drone) stores jobs elsewhere, triggered by Git.
  4. Runners expand horizontally; the control plane does not always.
push/PR → event → pipeline YAML → queue → runner → status back to forge

What can break

  • Untrusted PRs on privileged runners (injection).

How to read this chapter

Webhooks, native, external, runners, GitOps preview.