Zuul is a pipeline-oriented project gating system. It facilitates running tests and automated tasks in response to Gerrit events.
Hosts: | |
---|---|
Puppet: | |
Configuration: | |
Projects: | |
Bugs: | |
Resources: |
The OpenStack project uses a number of pipelines in Zuul:
Zuul watches events in Gerrit (using the Gerrit “stream-events” command) and matches those events to the pipelines above. If a match is found, it adds the change to the pipeline and starts running related jobs.
The gate pipeline uses speculative execution to improve throughput. Changes are tested in parallel under the assumption that changes ahead in the queue will merge. If they do not, Zuul will abort and restart tests without the affected changes. This means that many changes may be tested in parallel while continuing to assure that each commit is correctly tested.
Zuul’s current status may be viewed at http://status.openstack.org/zuul/.
Zuul’s configuration is stored in modules/openstack_project/files/zuul/layout.yaml. Anyone may propose a change to the configuration by editing that file and submitting the change to Gerrit for review.
For the full syntax of Zuul’s configuration file format, see the Zuul reference manual.