Skip to content

Commit

Permalink
- Fix pyflakes
Browse files Browse the repository at this point in the history
 - data.updates.completeBuildRequests have now the responsability of completing the parent buildset
  • Loading branch information
Xavier Delannoy committed Oct 21, 2014
1 parent 024f5db commit 5e2c169
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 25 deletions.
14 changes: 14 additions & 0 deletions master/buildbot/data/buildrequests.py
Expand Up @@ -186,6 +186,20 @@ def completeBuildRequests(self, brids, results, complete_at=None,
# because one of the buildrequests has been claimed by another master
defer.returnValue(False)
yield self.generateEvent(brids, "complete")

# check for completed buildsets -- one call for each build request with
# a unique bsid
seen_bsids = set()
for brid in brids:
brdict = yield self.master.db.buildrequests.getBuildRequest(brid)

if brdict:
bsid = brdict['buildsetid']
if bsid in seen_bsids:
continue
seen_bsids.add(bsid)
yield self.master.data.updates.maybeBuildsetComplete(bsid)

defer.returnValue(True)

@base.updateMethod
Expand Down
3 changes: 0 additions & 3 deletions master/buildbot/data/buildsets.py
Expand Up @@ -19,10 +19,7 @@
from buildbot.data import sourcestamps as sourcestampsapi
from buildbot.data import types
from buildbot.process.buildrequest import BuildRequestCollapser
from buildbot.status.results import FAILURE
from buildbot.status.results import SKIPPED
from buildbot.status.results import SUCCESS
from buildbot.status.results import WARNINGS
from buildbot.status.results import worst_status
from buildbot.util import datetime2epoch
from buildbot.util import epoch2datetime
Expand Down
15 changes: 2 additions & 13 deletions master/buildbot/process/builder.py
Expand Up @@ -473,21 +473,10 @@ def buildFinished(self, build, sb):

@defer.inlineCallbacks
def _notify_completions(self, requests, results, complete_at_epoch):
updates = self.master.data.updates

# send a message for each request
for br in requests:
updates.completeBuildRequests([br.id], results,
epoch2datetime(complete_at_epoch))

# check for completed buildsets -- one call for each build request with
# a unique bsid
seen_bsids = set()
for br in requests:
if br.bsid in seen_bsids:
continue
seen_bsids.add(br.bsid)
yield updates.maybeBuildsetComplete(br.bsid)
yield self.master.data.updates.completeBuildRequests([br.id], results,
epoch2datetime(complete_at_epoch))

def _resubmit_buildreqs(self, build):
brids = [br.id for br in build.requests]
Expand Down
11 changes: 2 additions & 9 deletions master/buildbot/process/buildrequest.py
Expand Up @@ -82,21 +82,17 @@ def collapse(self):
continue

canCollapse = yield collapseRequestsFn(bldr, br, unclaim_br)

if canCollapse is True:
collapseBRs.append(unclaim_br)

brids = [br['buildrequestid'] for br in collapseBRs]
brids = [b['buildrequestid'] for b in collapseBRs]
if collapseBRs:
bsids = list(set([br['buildsetid'] for br in collapseBRs]))
# Claim the buildrequests
yield self.master.data.updates.claimBuildRequests(brids)
# complete the buildrequest with result SKIPPED.
yield self.master.data.updates.completeBuildRequests(brids,
SKIPPED)
for bsid in bsids:
# Buildset will be complete with result=SKIPPED
yield self.master.data.updates.maybeBuildsetComplete(bsid)

defer.returnValue(brids)


Expand Down Expand Up @@ -339,9 +335,6 @@ def cancelBuildRequest(self):
yield self.master.data.updates.completeBuildRequests([self.id],
FAILURE)

# and see if the enclosing buildset may be complete
yield self.master.data.updates.maybeBuildsetComplete(self.bsid)


class BuildRequestControl:
implements(interfaces.IBuildRequestControl)
Expand Down

0 comments on commit 5e2c169

Please sign in to comment.