def METHOD_NAME(self):
    sc = SystemChecker()
    if sc.is_github_action():
        self.logger.debug(
            "Code is being run inside a GitHub Actions workflow. Use conda as a by-default mode."
        )
        return "conda"
    mode = self.decide_from_config_file_if_available()
    if mode is not None:
        self.logger.debug("Mode is already specified in the model repository")
        self.logger.debug("Mode: {0}".format(mode))
        return mode
    folder = self._model_path(self.model_id)
    self.logger.debug(
        "Check if model can be run with vanilla (system) code (i.e. dockerfile has no installs)"
    )
    dockerfile = DockerfileFile(folder)
    self.logger.debug("Check bentoml and python version")
    version = dockerfile.get_bentoml_version()
    self.logger.info("BentoML version {0}".format(version))
    dockerfile = self._correct_protobuf(version, dockerfile)
    if not dockerfile.has_runs():
        same_python = version["python"] == self.versioner.python_version(
            py_format=True
        )
        same_bentoml = version["version"] == self.versioner.bentoml_version()
        if same_python and same_bentoml:
            self.logger.debug("Same python and same bentoml, run in system")
            self.logger.debug("Mode: system")
            return "system"
    self.logger.debug("Model needs some installs")
    cmds = dockerfile.get_install_commands()
    if cmds is None:
        self.logger.debug("No Dockerfile found...")
        raise Exception("No Dockerfile found!")
    self.logger.debug("Checking if only python/conda install will be sufficient")
    if cmds["exclusive_conda_and_pip"]:
        condareq = CondaRequirement()
        if not cmds["conda"] and not condareq.is_installed():
            self.logger.debug("Mode: venv")
            return "venv"
        else:
            self.logger.debug("Mode: conda")
            return "conda"
    else:
        self.logger.debug(
            "The python/conda installs may not be sufficient, trying docker"
        )
        self.logger.debug("Mode: docker")
        dockerreq = DockerRequirement()
        if dockerreq.is_inside_docker():
            return "conda"
        if dockerreq.is_installed():
            return "docker"
        else:
            return "conda"