PyCon X


2nd - 5th May 2019

Testing Thousands of Python Projects Every Day

The OpenStack Infra team runs one of the world’s largest Open Source CI/CD systems in service of OpenStack’s early decision to mandate that all merges only be performed by automation if and only if all tests pass. Accomplishing this at scale involves a combination of software and policy.

Zuul is the software engine developed to handle this. It is, of course, written in Python. (Python3 to be exact!)

Zuul is not OpenStack specific. With the rise of microservices and kubernetes, the number of multi-repo projects is increasing, as is the need for CI systems that understand them. The most recent version of Zuul has been reworked to make it easy for other people, communities or organizations to harness its power regardless of any relationship with OpenStack.

We’ll talk about the things that make Zuul special - multi-repository dependencies, optimistic branch prediction and deep Ansible integration. And we’ll walk through how to get started with a private or a public Zuul.

There are also the parts of the equation that Zuul doesn’t cover. Handling thousands of different python projects requires some specific choices and tradeoffs, so we’ll discuss how we structure the projects, dependency management and release engineering.

Do you have some questions on this talk?

New comment