Skip to content

Commit 3d7d533

Browse files
authored
Merge pull request #5694 from stsewd/simplify-update-docs-task
Simplify update docs task
2 parents 6022141 + f3067ec commit 3d7d533

File tree

1 file changed

+14
-34
lines changed

1 file changed

+14
-34
lines changed

readthedocs/projects/tasks.py

+14-34
Original file line numberDiff line numberDiff line change
@@ -374,18 +374,18 @@ def run(
374374
try:
375375
if docker is None:
376376
docker = settings.DOCKER_ENABLE
377-
378377
self.project = self.get_project(pk)
379378
self.version = self.get_version(self.project, version_pk)
380379
self.build = self.get_build(build_pk)
381380
self.build_force = force
382381
self.config = None
383382

383+
# Build process starts here
384384
setup_successful = self.run_setup(record=record)
385385
if not setup_successful:
386386
return False
387-
388-
# Catch unhandled errors in the setup step
387+
self.run_build(docker=docker, record=record)
388+
return True
389389
except Exception:
390390
log.exception(
391391
'An unhandled exception was raised during build setup',
@@ -401,7 +401,17 @@ def run(
401401
},
402402
},
403403
)
404-
if self.setup_env is not None:
404+
# We should check first for build_env.
405+
# If isn't None, it means that something got wrong
406+
# in the second step (`self.run_build`)
407+
if self.build_env is not None:
408+
self.build_env.failure = BuildEnvironmentError(
409+
BuildEnvironmentError.GENERIC_WITH_BUILD_ID.format(
410+
build_id=build_pk,
411+
),
412+
)
413+
self.build_env.update_build(BUILD_STATE_FINISHED)
414+
elif self.setup_env is not None:
405415
self.setup_env.failure = BuildEnvironmentError(
406416
BuildEnvironmentError.GENERIC_WITH_BUILD_ID.format(
407417
build_id=build_pk,
@@ -412,36 +422,6 @@ def run(
412422
# Send notifications for unhandled errors
413423
self.send_notifications(version_pk, build_pk)
414424
return False
415-
else:
416-
# No exceptions in the setup step, catch unhandled errors in the
417-
# build steps
418-
try:
419-
self.run_build(docker=docker, record=record)
420-
except Exception:
421-
log.exception(
422-
'An unhandled exception was raised during project build',
423-
extra={
424-
'stack': True,
425-
'tags': {
426-
'build': build_pk,
427-
'project': self.project.slug,
428-
'version': self.version.slug,
429-
},
430-
},
431-
)
432-
if self.build_env is not None:
433-
self.build_env.failure = BuildEnvironmentError(
434-
BuildEnvironmentError.GENERIC_WITH_BUILD_ID.format(
435-
build_id=build_pk,
436-
),
437-
)
438-
self.build_env.update_build(BUILD_STATE_FINISHED)
439-
440-
# Send notifications for unhandled errors
441-
self.send_notifications(version_pk, build_pk)
442-
return False
443-
444-
return True
445425

446426
def run_setup(self, record=True):
447427
"""

0 commit comments

Comments
 (0)