in libmozdata/phabricator.py [0:0]
def find_diff_build(self, object_phid, build_plan_phid):
"""
Find a specific build and its targets for a Diff and an HarborMaster build plan
"""
assert isinstance(object_phid, str)
assert object_phid[0:10] in ("PHID-DIFF-", "PHID-DREV-")
assert build_plan_phid.startswith("PHID-HMCP-")
# First find the buildable for this diff
buildables = self.search_buildable(object_phid=object_phid)
assert len(buildables) == 1
buildable = buildables[0]
logger.info(
"Found HarborMaster buildable id={id} phid={phid}".format(**buildable)
)
# Then find the build in that buildable & plan
builds = self.search_build(
buildable_phid=buildable["phid"], plans=[build_plan_phid]
)
assert len(buildables) == 1
build = builds[0]
logger.info("Found HarborMaster build id={id} phid={phid}".format(**build))
# Finally look for the build targets
targets = self.search_build_target(build_phid=build["phid"])
logger.info("Found {} HarborMaster build targets".format(len(targets)))
return build, targets