diff --git a/readthedocs/projects/tasks.py b/readthedocs/projects/tasks.py index d781311d9eb..871857b7e48 100644 --- a/readthedocs/projects/tasks.py +++ b/readthedocs/projects/tasks.py @@ -286,6 +286,7 @@ def __init__(self, build_env=None, python_env=None, config=None, if config is not None: self.config = config self.task = task + self.setup_env = None def _log(self, msg): log.info(LOG_TEMPLATE @@ -355,12 +356,13 @@ def run(self, pk, version_pk=None, build_pk=None, record=True, }, }, ) - self.setup_env.failure = BuildEnvironmentError( - BuildEnvironmentError.GENERIC_WITH_BUILD_ID.format( - build_id=build_pk, + if self.setup_env is not None: + self.setup_env.failure = BuildEnvironmentError( + BuildEnvironmentError.GENERIC_WITH_BUILD_ID.format( + build_id=build_pk, + ) ) - ) - self.setup_env.update_build(BUILD_STATE_FINISHED) + self.setup_env.update_build(BUILD_STATE_FINISHED) return False else: # No exceptions in the setup step, catch unhandled errors in the @@ -379,12 +381,13 @@ def run(self, pk, version_pk=None, build_pk=None, record=True, }, }, ) - self.build_env.failure = BuildEnvironmentError( - BuildEnvironmentError.GENERIC_WITH_BUILD_ID.format( - build_id=build_pk, + if self.build_env is not None: + self.build_env.failure = BuildEnvironmentError( + BuildEnvironmentError.GENERIC_WITH_BUILD_ID.format( + build_id=build_pk, + ) ) - ) - self.build_env.update_build(BUILD_STATE_FINISHED) + self.build_env.update_build(BUILD_STATE_FINISHED) return False return True