Document "clean check" requirement

This is from a IRC discussion and slightly reworked.

Change-Id: I11d72daf04b2d72424b5b3f00507b7b0a9590583
Co-Authored-By: Jeremy Stanley <fungi@yuggoth.org>
Co-Authored-By: Clark Boylan <clark.boylan@gmail.com>
This commit is contained in:
Andreas Jaeger 2019-09-18 17:44:29 +02:00
parent e2d8777b5a
commit 5ec87db0bc

View File

@ -141,3 +141,28 @@ resources quickly.
We are also always happy to add resources if they are available, but the
priority from the project should be to ensure we are using what we do have
responsibly.
Can my changes skip the check queue?
------------------------------------
The OpenStack project uses a "clean check" approach to keep flaky
changes out of the gate. So, a change always needs to pass "check"
before it enters "gate" - and if it fails in "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 so forcing it
to go through check again helps make that more apparent.
* This avoids also 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, so
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.