a239ac23a7
Currently there are two corner cases where we can miss to resume a paused job. In the problematic scenario we have a job that pauses (compile), a job that is independent of 'compile' (pre-test) and a job that depends on both (test). The first corner case is 'pre-test' fails before 'compile' pauses. This leads to 'test' already skipped when 'compile' pauses. This is currently not catched because a paused job only directly resumes if there are no child jobs which was based under the wrong assumption that there can be no build result prior to 'compile'. The second corner case is that 'pre-test' fails after 'compile' pauses. In this case it resumes its own parent jobs (that don't exist) but not the parent jobs of the jobs that get marked as skipped. Both cases can be solved by not resuming parent builds of builds but just iterate over the buildset and resume any paused job that is allowed to be resumed. This also makes it possible to remove the special resume behavior if the paused job has no children as this case is now handled by the common resume handling anyway. Change-Id: If1a9e62d1b3d1782eefef8adfb2ef1a7ba75f2a1 |
||
---|---|---|
.. | ||
__init__.py | ||
dependent.py | ||
independent.py | ||
supercedent.py |