CI Setup
Pipeline
- unit-tests: fast jobs for fast feedback (linting, etc…)
- deploy-part1: small number of jobs to test if the PR works with default settings
- deploy-part2: slow jobs testing different platforms, OS, settings, CNI, etc…
- 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 for more info
Vagrant
Vagrant jobs are using the quay.io/kubespray/vagrant docker image with /var/run/libvirt/libvirt-sock
exposed from the host, allowing the container to boot VMs on the host.