James E. Blair a738d00fb9 GitHub: Add "queued" check status
This adds support for the "queued" status in github checks.  This allows
users to configure an "enqueue" reporter to set the "queued" status on
a check for a github PR.  Since the "start" reporter doesn't change the
status of a check until Zuul starts to run jobs, this can be used to
provide near-immediate feedback to users that a change has been enqueued
into a pipeline.  If the change remains outside the active window for
some time, the "queued" status can be useful to let users know that
future work is pending.

The reference gate pipeline for github is updated to include
an "enqueue" reporter, as well as a reporter for both "dequeue" and
"no-jobs".  These two, along with "success" and "failure", cover all
of the ways a change may exit a pipeline and will therefore finalize
the check with a completed result (so that it is not left in a pending
state in the github web UI).

Some minor changes are made to the reference pipelines for consistent
formatting.

The docs are updated not only to add the new status keyword, but also
to switch to using the "value" tag in the "zuul" sphinx domain.  This
allows us to link to the individual values.

To ensure that we don't report "dequeue" in cases where we have not
reported anything yet, we add an additional flag to the queue item to
storte whether we have reported "enqueue".  This is initialized in
the constructor, so it will be set for currently existing objects
without the need for an explicit upgrade path.

The code that sets the reported_start flag is updated slightly so that
both reported_start and reported_enqueue are used the same way.

Change-Id: I99653a0b31d26724e1728e3e8368015a11f73bff
2025-11-17 13:44:17 -08:00
2025-11-17 13:44:17 -08:00
2025-07-30 13:34:20 -07:00
2025-11-17 13:44:17 -08:00
2025-11-17 13:44:17 -08:00
2018-05-17 08:33:40 -07:00
2022-12-20 08:57:53 -08:00
2019-04-19 19:25:28 +00:00
2012-09-26 14:23:10 +00:00
2025-11-03 12:54:18 -08:00
2018-03-19 09:25:52 -07:00
2012-05-29 14:49:32 -07:00
2020-02-28 09:43:56 +01:00
2025-01-13 13:38:23 -08:00
2024-10-10 14:08:34 +01:00
2020-07-22 08:45:46 -07:00
2023-04-05 14:01:08 +02:00

Zuul

Zuul is a project gating system.

The latest documentation for the current version of Zuul is published at: https://zuul-ci.org/docs/zuul/

If you are looking for the Edge routing service named Zuul that is related to Netflix, it can be found here: https://github.com/Netflix/zuul

If you are looking for the Javascript testing tool named Zuul, its archive can be found here: https://github.com/defunctzombie/zuul

Getting Help

There are two Zuul-related mailing lists:

zuul-announce

A low-traffic announcement-only list to which every Zuul operator or power-user should subscribe.

zuul-discuss

General discussion about Zuul, including questions about how to use it, and future development.

You will also find Zuul developers on Matrix <https://matrix.to/#/#zuul:opendev.org>.

Contributing

To browse the latest code, see: https://opendev.org/zuul/zuul To clone the latest code, use git clone https://opendev.org/zuul/zuul

Bugs are handled at: https://storyboard.openstack.org/#!/project/zuul/zuul

Suspected security vulnerabilities are most appreciated if first reported privately following any of the supported mechanisms described at https://zuul-ci.org/docs/zuul/latest/vulnerabilities.html

Code reviews are handled by gerrit at https://review.opendev.org

After creating a Gerrit account, use git review to submit patches. Example:

# Do your commits
$ git review
# Enter your username if prompted

Join us on Matrix to discuss development or usage.

License

Zuul is free software. Most of Zuul is licensed under the Apache License, version 2.0. Some parts of Zuul are licensed under the General Public License, version 3.0. Please see the license headers at the tops of individual source files.

Python Version Support

Zuul requires Python 3. It does not support Python 2.

Since Zuul uses Ansible to drive CI jobs, Zuul can run tests anywhere Ansible can, including Python 2 environments.

S
Description
The Gatekeeper, or a project gating system
Readme 168 MiB
Languages
Python 89.2%
JavaScript 8.7%
C# 1.1%
PowerShell 0.3%
Shell 0.3%
Other 0.3%