|
33 | 33 | BUILD_STATE_CLONING,
|
34 | 34 | BUILD_STATE_FINISHED,
|
35 | 35 | BUILD_STATE_INSTALLING,
|
| 36 | + BUILD_STATE_PULLING_CACHE, |
36 | 37 | BUILD_STATUS_SUCCESS,
|
37 | 38 | BUILD_STATUS_FAILURE,
|
38 | 39 | LATEST,
|
@@ -93,10 +94,12 @@ class CachedEnvironmentMixin:
|
93 | 94 |
|
94 | 95 | """Mixin that pull/push cached environment to storage."""
|
95 | 96 |
|
96 |
| - def pull_cached_environment(self): |
| 97 | + def pull_cached_environment(self, environment): |
97 | 98 | if not self.project.has_feature(feature_id=Feature.CACHED_ENVIRONMENT):
|
98 | 99 | return
|
99 | 100 |
|
| 101 | + environment.update_build(state=BUILD_STATE_PULLING_CACHE) |
| 102 | + |
100 | 103 | storage = get_storage_class(settings.RTD_BUILD_ENVIRONMENT_STORAGE)()
|
101 | 104 | filename = self.version.get_storage_environment_cache_path()
|
102 | 105 |
|
@@ -370,7 +373,7 @@ def run(self, version_pk): # pylint: disable=arguments-differ
|
370 | 373 | # repository in this step, and pushing it back will delete
|
371 | 374 | # all the other cached things (Python packages, Sphinx,
|
372 | 375 | # virtualenv, etc)
|
373 |
| - self.pull_cached_environment() |
| 376 | + self.pull_cached_environment(environment) |
374 | 377 | self.sync_repo(environment)
|
375 | 378 | return True
|
376 | 379 | except RepositoryError:
|
@@ -594,7 +597,7 @@ def run_setup(self, record=True):
|
594 | 597 | raise ProjectBuildsSkippedError
|
595 | 598 | try:
|
596 | 599 | with self.project.repo_nonblockinglock(version=self.version):
|
597 |
| - self.pull_cached_environment() |
| 600 | + self.pull_cached_environment(environment) |
598 | 601 | self.setup_vcs(environment)
|
599 | 602 | except vcs_support_utils.LockTimeout as e:
|
600 | 603 | self.task.retry(exc=e, throw=False)
|
|
0 commit comments