|
We do not allow items to be enqueued into dependent pipelines if they
do not meet the approval/mergability requirements of the code review system.
For example, an "Approved" review in gerrit, or a required status check in
github. However, we do not check those once the item has been enqueued.
This means that if someone revokes approval, the item may remain in the queue
until it finishes, at which point it will fail to merge and be dequeued.
To avoid this, perform the canMerge check (which operates on local data)
each time we process the item.
Note: this does not perform Zuul pipeline requirement checks, but that would
be a natural follow-on from this change.
Change-Id: Iaf0ff530a9cb70052bf6a0908b28e2794dd110ae
|