Add "clean check" explanation

Move content from
https://docs.openstack.org/infra/manual/testing.html#can-my-changes-skip-the-check-queue
over to this guide since it's OpenStack specific.

Change-Id: I7b39fea8c1ae3f2409637ab62a185b4116645a83
This commit is contained in:
Andreas Jaeger 2020-03-04 20:39:55 +01:00 committed by Alexandra Settle
parent 1359f478a0
commit 1a9cac0f34

View File

@ -46,3 +46,28 @@ patch:
.. image:: /_assets/zuul_status/zuul_status_searchbar.png .. image:: /_assets/zuul_status/zuul_status_searchbar.png
:scale: 65 :scale: 65
Why do changes go first in the check queue?
-------------------------------------------
The OpenStack project uses what's called a `clean check` approach. This
is designed to keep flaky changes out of the gate. A change always needs
to pass the check before it enters the gate. If it fails in the gate, it
re-enters the check pipeline.
* If your change fails in the gate, then there is an increased chance
it is introducing non-deterministic failure behavior. Forcing it
to go through check again helps make that more apparent.
* This avoids approving changes that have no hope of ever passing
due to pep8 or other trivial errors.
* It also helps with approving changes that had been sitting around
with a 6-month-old passing check.
Changes in the gate pipeline are prioritized but also serialized.
If a change fails, all tests for changes behind that failing change
have to be restarted. If restarts after restarts happen, then
resources are never freed up for the check pipeline.
Therefore, having a stable gate pipeline is crucial and the clean
check requirement will help with the stable jobs.