in source/setup/lambda/lambda.py [0:0]
def check_build_job_status(event, context):
code_build_project_name = event['ResourceProperties']['CodeBuildProjectName']
if not helper.Data.get("JobID"):
raise ValueError("Job ID missing in the polling event.")
job_id = helper.Data.get("JobID")
# 'SUCCEEDED' | 'FAILED' | 'FAULT' | 'TIMED_OUT' | 'IN_PROGRESS' | 'STOPPED'
response = codebuild.batch_get_builds(ids=[job_id])
build_status = response['builds'][0]['buildStatus']
if build_status == 'IN_PROGRESS':
logger.info(build_status)
return None
else:
if build_status == 'SUCCEEDED':
logger.info(build_status)
return True
else:
msg = "Code Build job '{0}' in project '{1}' exited with a build status of '{2}'." \
.format(job_id, code_build_project_name, build_status)
logger.info(msg)
raise ValueError(msg)