diff --git a/readthedocs/doc_builder/environments.py b/readthedocs/doc_builder/environments.py index 23c23ee0e1e..30d8ad4bc95 100644 --- a/readthedocs/doc_builder/environments.py +++ b/readthedocs/doc_builder/environments.py @@ -103,11 +103,9 @@ def __init__( if cwd is None: cwd = os.getcwd() self.cwd = cwd - self.environment = os.environ.copy() - if environment is not None: - if 'PATH' in environment: - raise BuildEnvironmentError('\'PATH\' can\'t be set.') - self.environment.update(environment) + + environment = environment or {} + self.environment = environment.copy() self.combine_output = combine_output self.input_data = input_data @@ -150,13 +148,7 @@ def run(self): if self.combine_output: stderr = subprocess.STDOUT - environment = {} - environment.update(self.environment) - environment['READTHEDOCS'] = 'True' - if self.build_env is not None: - environment['READTHEDOCS_VERSION'] = self.build_env.version.slug - environment['READTHEDOCS_PROJECT'] = self.build_env.project.slug - environment['READTHEDOCS_LANGUAGE'] = self.build_env.project.language + environment = self.environment.copy() if 'DJANGO_SETTINGS_MODULE' in environment: del environment['DJANGO_SETTINGS_MODULE'] if 'PYTHONPATH' in environment: @@ -329,6 +321,7 @@ def run(self): exec_cmd = client.exec_create( container=self.build_env.container_id, cmd=self.get_wrapped_command(), + environment=self.environment, stdout=True, stderr=True, ) @@ -1051,7 +1044,6 @@ def create_container(self): volumes=self._get_binds(), host_config=self.get_container_host_config(), detach=True, - environment=self.environment, user=settings.RTD_DOCKER_USER, ) client.start(container=self.container_id) diff --git a/readthedocs/projects/tasks.py b/readthedocs/projects/tasks.py index 2874c680908..8b8fbd7333d 100644 --- a/readthedocs/projects/tasks.py +++ b/readthedocs/projects/tasks.py @@ -725,7 +725,7 @@ def setup_vcs(self, environment): def get_env_vars(self): """Get bash environment variables used for all builder commands.""" env = { - 'READTHEDOCS': True, + 'READTHEDOCS': 'True', 'READTHEDOCS_VERSION': self.version.slug, 'READTHEDOCS_PROJECT': self.project.slug, 'READTHEDOCS_LANGUAGE': self.project.language, diff --git a/readthedocs/vcs_support/base.py b/readthedocs/vcs_support/base.py index b482f0796d5..43fc8b84857 100644 --- a/readthedocs/vcs_support/base.py +++ b/readthedocs/vcs_support/base.py @@ -81,12 +81,7 @@ def make_clean_working_dir(self): @property def env(self): - environment = os.environ.copy() - - # TODO: kind of a hack - del environment['PATH'] - - return environment + return {} def update(self): """