def publish_analysis_lando()

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)