Continuous Integration with Zuul

Cinder uses Zuul as project gating system. The Zuul web front-end is at

Zuul ensures that only tested code gets merged. The configuration is mainly done in cinder’s .zuul.yaml file.

The following is a partial list of jobs that are configured to run on changes. Test jobs run initially on proposed changes and get run again after review and approval. Note that for each job run the code gets rebased to current HEAD to test exactly the state that gets merged.


Run linters like PEP8 checks.


Run Pylint checks.


Run unit tests using python2.7.


Run unit tests using python3.6.


Build this documentation for review.

The following jobs are some of the jobs that run after a change is merged:


Build this documentation and publish to OpenStack Cinder.


Do python sdist to create a tarball of the cinder code and upload it to