From 3089da347a48ead716f807f4029a5b2699d27657 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Luis=20Cano=20Rodr=C3=ADguez?= Date: Wed, 24 Nov 2021 12:33:05 +0100 Subject: [PATCH 1/7] Avoid future breakage of setup.py invokations See https://github.com/readthedocs/readthedocs.org/issues/8659. --- readthedocs/doc_builder/python_environments.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/readthedocs/doc_builder/python_environments.py b/readthedocs/doc_builder/python_environments.py index 911ccb3e99c..7fc8eeb855e 100644 --- a/readthedocs/doc_builder/python_environments.py +++ b/readthedocs/doc_builder/python_environments.py @@ -197,7 +197,10 @@ def install_build_tools(self): 'install', '-U', 'virtualenv', - 'setuptools', + # We cap setuptools to avoid breakage of projects + # relying on setup.py invokations, + # see https://github.com/readthedocs/readthedocs.org/issues/8659 + '"setuptools<58.3.0"', ] self.build_env.run( *cmd, From b20faab8d250cfa2023c00ee1352876fa6e03ab5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Luis=20Cano=20Rodr=C3=ADguez?= Date: Wed, 24 Nov 2021 14:18:45 +0100 Subject: [PATCH 2/7] Fix tests --- readthedocs/rtd_tests/tests/test_celery.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readthedocs/rtd_tests/tests/test_celery.py b/readthedocs/rtd_tests/tests/test_celery.py index cb9e5ac1bb7..d64d786d8ce 100644 --- a/readthedocs/rtd_tests/tests/test_celery.py +++ b/readthedocs/rtd_tests/tests/test_celery.py @@ -593,7 +593,7 @@ def test_build_tools(self, load_config, build_run): mock.call('asdf', 'install', 'python', python_version), mock.call('asdf', 'global', 'python', python_version), mock.call('asdf', 'reshim', 'python', record=False), - mock.call('python', '-mpip', 'install', '-U', 'virtualenv', 'setuptools'), + mock.call('python', '-mpip', 'install', '-U', 'virtualenv', '"setuptools<58.3.0"'), mock.call('asdf', 'install', 'nodejs', nodejs_version), mock.call('asdf', 'global', 'nodejs', nodejs_version), mock.call('asdf', 'reshim', 'nodejs', record=False), From d0404a112c342def850bc7734470b1bd0fea7453 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Luis=20Cano=20Rodr=C3=ADguez?= Date: Wed, 24 Nov 2021 15:17:46 +0100 Subject: [PATCH 3/7] Remove unnecessary setuptools upgrade The setuptools in Python 3.8 `venv` is no longer ancient, so it is not necessary to upgrade it anymore. --- docs/development/docs.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/development/docs.rst b/docs/development/docs.rst index ff07372ddcf..530d2574bb0 100644 --- a/docs/development/docs.rst +++ b/docs/development/docs.rst @@ -33,14 +33,14 @@ you may want to verify those changes locally before pushing upstream. #. create a virtual environment with Python 3.8 (preferably the latest release, 3.8.12 at the time of writing), - activate it, and upgrade both pip and setuptools: + activate it, and upgrade pip: .. code-block:: console $ cd readthedocs.org $ python3.8 -m venv .venv $ source .venv/bin/activate - (.venv) $ python -m pip install -U pip setuptools + (.venv) $ python -m pip install -U pip #. install documentation requirements From a06eeab03db47a557fc582bf7698c6edd6cfc470 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Luis=20Cano=20Rodr=C3=ADguez?= Date: Wed, 24 Nov 2021 17:59:10 +0100 Subject: [PATCH 4/7] Fix docs on default setuptools version installed --- docs/builds.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/builds.rst b/docs/builds.rst index 6fb03a27ea0..28eeabd1c0b 100644 --- a/docs/builds.rst +++ b/docs/builds.rst @@ -147,7 +147,7 @@ pip: Latest version by default. setuptools: - Latest version by default. + ``58.3.0`` or older. mock: ``1.0.1`` (could be removed in the future). From b83c65da7f8252e0993892866826f50c25a9279e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Luis=20Cano=20Rodr=C3=ADguez?= Date: Mon, 29 Nov 2021 17:29:33 +0100 Subject: [PATCH 5/7] Remove unneeded quotes Co-authored-by: Santos Gallegos --- readthedocs/doc_builder/python_environments.py | 2 +- readthedocs/rtd_tests/tests/test_celery.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/readthedocs/doc_builder/python_environments.py b/readthedocs/doc_builder/python_environments.py index 7fc8eeb855e..b804fb191ef 100644 --- a/readthedocs/doc_builder/python_environments.py +++ b/readthedocs/doc_builder/python_environments.py @@ -200,7 +200,7 @@ def install_build_tools(self): # We cap setuptools to avoid breakage of projects # relying on setup.py invokations, # see https://github.com/readthedocs/readthedocs.org/issues/8659 - '"setuptools<58.3.0"', + 'setuptools<58.3.0', ] self.build_env.run( *cmd, diff --git a/readthedocs/rtd_tests/tests/test_celery.py b/readthedocs/rtd_tests/tests/test_celery.py index d64d786d8ce..0d17d8399ba 100644 --- a/readthedocs/rtd_tests/tests/test_celery.py +++ b/readthedocs/rtd_tests/tests/test_celery.py @@ -593,7 +593,7 @@ def test_build_tools(self, load_config, build_run): mock.call('asdf', 'install', 'python', python_version), mock.call('asdf', 'global', 'python', python_version), mock.call('asdf', 'reshim', 'python', record=False), - mock.call('python', '-mpip', 'install', '-U', 'virtualenv', '"setuptools<58.3.0"'), + mock.call('python', '-mpip', 'install', '-U', 'virtualenv', 'setuptools<58.3.0'), mock.call('asdf', 'install', 'nodejs', nodejs_version), mock.call('asdf', 'global', 'nodejs', nodejs_version), mock.call('asdf', 'reshim', 'nodejs', record=False), From cc255e3197a6f9d018dc37ffbf171e3e387d4d9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Luis=20Cano=20Rodr=C3=ADguez?= Date: Mon, 29 Nov 2021 19:02:56 +0100 Subject: [PATCH 6/7] Adjust other installations of setuptools --- readthedocs/doc_builder/python_environments.py | 2 +- readthedocs/rtd_tests/tests/test_doc_building.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/readthedocs/doc_builder/python_environments.py b/readthedocs/doc_builder/python_environments.py index b804fb191ef..893e0ddf01a 100644 --- a/readthedocs/doc_builder/python_environments.py +++ b/readthedocs/doc_builder/python_environments.py @@ -480,7 +480,7 @@ def install_core_requirements(self): positive='pip<20.3', negative='pip', ) - cmd = pip_install_cmd + [pip_version, 'setuptools'] + cmd = pip_install_cmd + [pip_version, 'setuptools<58.3.0'] self.build_env.run( *cmd, bin_path=self.venv_bin(), cwd=self.checkout_path ) diff --git a/readthedocs/rtd_tests/tests/test_doc_building.py b/readthedocs/rtd_tests/tests/test_doc_building.py index f0b8599ad6c..c76244ab77d 100644 --- a/readthedocs/rtd_tests/tests/test_doc_building.py +++ b/readthedocs/rtd_tests/tests/test_doc_building.py @@ -1234,7 +1234,7 @@ def test_install_core_requirements_sphinx(self, checkout_path): self.assertEqual(self.build_env_mock.run.call_count, 2) calls = self.build_env_mock.run.call_args_list - core_args = self.pip_install_args + ['pip', 'setuptools'] + core_args = self.pip_install_args + ['pip', 'setuptools<58.3.0'] self.assertArgsStartsWith(core_args, calls[0]) requirements = self.base_requirements + requirements_sphinx @@ -1259,7 +1259,7 @@ def test_install_core_requirements_mkdocs(self, checkout_path): self.assertEqual(self.build_env_mock.run.call_count, 2) calls = self.build_env_mock.run.call_args_list - core_args = self.pip_install_args + ['pip', 'setuptools'] + core_args = self.pip_install_args + ['pip', 'setuptools<58.3.0'] self.assertArgsStartsWith(core_args, calls[0]) requirements = self.base_requirements + requirements_mkdocs From b118a1a510c980528028a613a5146e532be3d8e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Luis=20Cano=20Rodr=C3=ADguez?= Date: Mon, 29 Nov 2021 21:45:25 +0100 Subject: [PATCH 7/7] Typo Co-authored-by: Santos Gallegos --- docs/builds.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/builds.rst b/docs/builds.rst index 28eeabd1c0b..111a6b41db0 100644 --- a/docs/builds.rst +++ b/docs/builds.rst @@ -147,7 +147,7 @@ pip: Latest version by default. setuptools: - ``58.3.0`` or older. + ``58.2.0`` or older. mock: ``1.0.1`` (could be removed in the future).