diff --git a/docs/_sidebar.md b/docs/_sidebar.md index fb5374fdbf7..cde5247d9f2 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -41,4 +41,5 @@ * [Test cases](docs/test_cases.md) * [Vagrant](docs/vagrant.md) * [CI Matrix](docs/ci.md) + * [CI Setup](docs/ci-setup.md) * [Roadmap](docs/roadmap.md) diff --git a/docs/ci-setup.md b/docs/ci-setup.md new file mode 100644 index 00000000000..36d512f0446 --- /dev/null +++ b/docs/ci-setup.md @@ -0,0 +1,20 @@ +# CI Setup + +## Pipeline + +1. unit-tests: fast jobs for fast feedback (linting, etc...) +2. deploy-part1: small number of jobs to test if the PR works with default settings +3. deploy-part2: slow jobs testing different platforms, OS, settings, CNI, etc... +4. deploy-part3: very slow jobs (upgrades, etc...) + +## Runners + +Kubespray has 3 types of GitLab runners: + +- packet runners: used for E2E jobs (usually long) +- light runners: used for short lived jobs +- auto scaling runners: used for on-demand resources, see [GitLab docs](https://docs.gitlab.com/runner/configuration/autoscale.html) for more info + +## Vagrant + +Vagrant jobs are using the [quay.io/kubespray/vagrant](/test-infra/vagrant-docker/Dockerfile) docker image with `/var/run/libvirt/libvirt-sock` exposed from the host, allowing the container to boot VMs on the host.