prscript: iterate on builds when checking status

This patch is changing the logic when using docker mode. We are
iterating over each builds so we know when one build is over in
the 5 seconds following the event instead of getting the result
when the builds that are checked before are others.

On OISF's build system, the two builds comes out in order so there
is no problem.
pull/1405/head
Eric Leblond 10 years ago committed by Victor Julien
parent f12e6fdcda
commit fbe5db500c

@ -29,6 +29,7 @@ import time
import argparse import argparse
import sys import sys
import os import os
import copy
GOT_DOCKER = True GOT_DOCKER = True
try: try:
@ -261,8 +262,27 @@ else:
sys.exit(0) sys.exit(0)
res = 0 res = 0
for build in buildids: if args.docker:
res = WaitForBuildResult(build, buildids[build], builder_name = build) while len(buildids):
up_buildids = copy.copy(buildids)
for build in buildids:
ret = GetBuildStatus(build, buildids[build], builder_name = build)
if ret == -1:
res = -1
up_buildids.pop(build, None)
print "Build failure for " + build + ": " + BUILDERS_URI + build + '/builds/' + str(buildids[build]) + " (" + ', '.join(up_buildids.keys()) + " remaining)"
elif ret == 0:
up_buildids.pop(build, None)
print "Build successful for " + build + " (" + ', '.join(up_buildids.keys()) + " remaining)"
time.sleep(5)
buildids = up_buildids
if res == -1:
sys.exit(-1)
else:
sys.exit(0)
else:
for build in buildids:
res = WaitForBuildResult(build, buildids[build], builder_name = build)
if res == 0: if res == 0:
if not args.norebase and not args.docker: if not args.norebase and not args.docker:

Loading…
Cancel
Save