in bot/code_review_bot/analysis.py [0:0]
def publish_analysis_lando(payload, lando_warnings):
"""
Publish result of patch application and push to try on Lando
"""
mode, build, extras = payload
assert isinstance(build, RevisionBuild), "Not a RevisionBuild"
logger.debug("Publishing a Lando build update", mode=mode, build=str(build))
if mode == "fail:general":
# Send general failure message to Lando
logger.info(
"Publishing code review failure.",
revision=build.revision["id"],
diff=build.diff_id,
)
try:
lando_warnings.add_warning(
LANDO_FAILURE_MESSAGE, build.revision["id"], build.diff_id
)
except Exception as ex:
logger.error(str(ex), exc_info=True)
elif mode == "fail:mercurial":
# Send mercurial message to Lando
logger.info(
"Publishing code review hg failure.",
revision=build.revision["id"],
diff=build.diff_id,
)
try:
lando_warnings.add_warning(
LANDO_FAILURE_HG_MESSAGE, build.revision["id"], build.diff_id
)
except Exception as ex:
logger.error(str(ex), exc_info=True)
elif mode == "success":
logger.info(
"Begin publishing init warning message to lando.",
revision=build.revision["id"],
diff=build.diff_id,
)
try:
lando_warnings.add_warning(
LANDO_WARNING_MESSAGE, build.revision["id"], build.diff_id
)
except Exception as ex:
logger.error(str(ex), exc_info=True)
else:
logger.info("Nothing to publish on Lando", mode=mode, build=build)