diff --git a/doc/sphinx/reference/continuous-integration.md b/doc/sphinx/reference/continuous-integration.md index e7f15a24735..41d4549ecc1 100644 --- a/doc/sphinx/reference/continuous-integration.md +++ b/doc/sphinx/reference/continuous-integration.md @@ -5,19 +5,10 @@ pipeline. ## Overview -There are a number of components to this story: -- Mir builds -- unit, integration, acceptance and performance tests - - including our [WayLand Conformance Suite - WLCS](https://github.com/canonical/wlcs) -- sanitizer runs -- ABI checks -- coverage measurement -- `.deb` package builds -- downstream Snap builds -- end-to-end testing across different hardware - - test procedures maintained within [mir-ci](https://github.com/canonical/mir-ci) - and [checkbox-mir](https://github.com/canonical/checkbox-mir) - - automations defined in a private repository, as it includes infrastructure credentials +There are a number of components to this story, and a diagram might make for a good overview: + +```{mermaid} continuous-integration.mmd +``` These are run at different stages in the pipeline, balancing the time it takes to run and the breadth of testing. We'll discuss those in more detail below. diff --git a/doc/sphinx/reference/continuous-integration.mmd b/doc/sphinx/reference/continuous-integration.mmd new file mode 100644 index 00000000000..7fc1d668dfe --- /dev/null +++ b/doc/sphinx/reference/continuous-integration.mmd @@ -0,0 +1,16 @@ +flowchart TD + PR{{Pull Request}} --> Builds(Builds and tests + unit + acceptance + integration + performance) + PR --> Snaps(Downstream snaps) + PR --> ABI(ABI checks) + PR --> Coverage(Coverage) + Push{{Push}} --> Builds + Push --> Coverage + Push --> Sanitizers(Sanitizers) + Push --> PPA(.deb packages) + PPA --> Snaps + Snaps --> EndToEnd(End-to-end testing) +