From bb74fd22f6d5578b5d8c8e3003da6b1db038f026 Mon Sep 17 00:00:00 2001 From: Feanil Patel Date: Tue, 12 Mar 2024 15:10:11 -0400 Subject: [PATCH 1/2] build: Bulid requiremnets and docs using python 3.12 * Update tox.ini so that runing just `tox` will run docs and quality tests as well. * Update the `upgrade-python-requirements.yml` workflow to run the upgrade job using python 3.12 * Update the `ci.yml` workflow to skip running the docs build on python 3.8, we don't need to do both we can just build with 3.12 starting now. * Update `.readthedocs.yml` so that RTD will start using 3.12 --- .github/workflows/ci.yml | 3 +++ .github/workflows/upgrade-python-requirements.yml | 1 + .readthedocs.yaml | 2 +- tox.ini | 2 +- 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7bdcffc..5e7ab4a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,6 +17,9 @@ jobs: os: [ubuntu-20.04] python-version: ['3.8', '3.12'] toxenv: [quality, docs, pii_check, django42] + exclude: + - python-version: '3.8' + toxenv: 'docs' steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/upgrade-python-requirements.yml b/.github/workflows/upgrade-python-requirements.yml index 4328b65..57ae1cb 100644 --- a/.github/workflows/upgrade-python-requirements.yml +++ b/.github/workflows/upgrade-python-requirements.yml @@ -9,6 +9,7 @@ on: description: 'Target branch to create requirements PR against' required: true default: 'main' + python_version: '3.12' jobs: call-upgrade-python-requirements-workflow: uses: openedx/.github/.github/workflows/upgrade-python-requirements.yml@master diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 0f029d2..e1d54e1 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -10,6 +10,6 @@ sphinx: configuration: docs/conf.py python: - version: 3.8 + version: 3.12 install: - requirements: requirements/doc.txt diff --git a/tox.ini b/tox.ini index 6e87e4a..c985d0f 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py{38,312}-django{42} +envlist = py{38,312}-django{42}, docs, quality [pycodestyle] exclude = .git,.tox,migrations From 3faf7673b0bed6c5825311dd5836dd90af122c6f Mon Sep 17 00:00:00 2001 From: Feanil Patel Date: Tue, 12 Mar 2024 15:13:09 -0400 Subject: [PATCH 2/2] chore: Run `make upgrade` --- requirements/base.txt | 12 ++------ requirements/ci.txt | 6 +--- requirements/dev.txt | 42 ++------------------------- requirements/doc.txt | 59 ++++++++++---------------------------- requirements/pip-tools.txt | 13 ++------- requirements/pip.txt | 4 +-- requirements/quality.txt | 25 ++-------------- requirements/test.txt | 19 ++---------- 8 files changed, 30 insertions(+), 150 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index ae5153e..cbc92e8 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,17 +1,13 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade # asgiref==3.7.2 # via django -async-timeout==4.0.3 - # via redis attrs==23.2.0 # via openedx-events -backports-zoneinfo==0.2.1 - # via django cffi==1.16.0 # via pynacl click==8.1.7 @@ -52,7 +48,7 @@ jinja2==3.1.3 # via code-annotations markupsafe==2.1.5 # via jinja2 -newrelic==9.7.0 +newrelic==9.7.1 # via edx-django-utils openedx-events==9.5.2 # via -r requirements/base.in @@ -82,8 +78,6 @@ stevedore==5.2.0 text-unidecode==1.3 # via python-slugify typing-extensions==4.10.0 - # via - # asgiref - # edx-opaque-keys + # via edx-opaque-keys walrus==0.9.3 # via -r requirements/base.in diff --git a/requirements/ci.txt b/requirements/ci.txt index 9f335db..8734d52 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade @@ -28,10 +28,6 @@ pluggy==1.4.0 # via tox pyproject-api==1.6.1 # via tox -tomli==2.0.1 - # via - # pyproject-api - # tox tox==4.14.1 # via -r requirements/ci.in virtualenv==20.25.1 diff --git a/requirements/dev.txt b/requirements/dev.txt index bc6c85c..500c38a 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade @@ -13,18 +13,10 @@ astroid==3.1.0 # -r requirements/quality.txt # pylint # pylint-celery -async-timeout==4.0.3 - # via - # -r requirements/quality.txt - # redis attrs==23.2.0 # via # -r requirements/quality.txt # openedx-events -backports-zoneinfo==0.2.1 - # via - # -r requirements/quality.txt - # django build==1.1.1 # via # -r requirements/pip-tools.txt @@ -115,10 +107,6 @@ edx-opaque-keys[django]==2.5.1 # openedx-events edx-toggles==5.1.1 # via -r requirements/quality.txt -exceptiongroup==1.2.0 - # via - # -r requirements/quality.txt - # pytest fastavro==1.9.4 # via # -r requirements/quality.txt @@ -128,10 +116,6 @@ filelock==3.13.1 # -r requirements/ci.txt # tox # virtualenv -importlib-metadata==7.0.2 - # via - # -r requirements/pip-tools.txt - # build iniconfig==2.0.0 # via # -r requirements/quality.txt @@ -155,7 +139,7 @@ mccabe==0.7.0 # via # -r requirements/quality.txt # pylint -newrelic==9.7.0 +newrelic==9.7.1 # via # -r requirements/quality.txt # edx-django-utils @@ -289,19 +273,6 @@ text-unidecode==1.3 # via # -r requirements/quality.txt # python-slugify -tomli==2.0.1 - # via - # -r requirements/ci.txt - # -r requirements/pip-tools.txt - # -r requirements/quality.txt - # build - # coverage - # pip-tools - # pylint - # pyproject-api - # pyproject-hooks - # pytest - # tox tomlkit==0.12.4 # via # -r requirements/quality.txt @@ -311,24 +282,17 @@ tox==4.14.1 typing-extensions==4.10.0 # via # -r requirements/quality.txt - # asgiref - # astroid # edx-opaque-keys - # pylint virtualenv==20.25.1 # via # -r requirements/ci.txt # tox walrus==0.9.3 # via -r requirements/quality.txt -wheel==0.42.0 +wheel==0.43.0 # via # -r requirements/pip-tools.txt # pip-tools -zipp==3.17.0 - # via - # -r requirements/pip-tools.txt - # importlib-metadata # The following packages are considered to be unsafe in a requirements file: # pip diff --git a/requirements/doc.txt b/requirements/doc.txt index d04c8f8..c5d3243 100644 --- a/requirements/doc.txt +++ b/requirements/doc.txt @@ -1,21 +1,17 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade # accessible-pygments==0.0.4 # via pydata-sphinx-theme -alabaster==0.7.13 +alabaster==0.7.16 # via sphinx asgiref==3.7.2 # via # -r requirements/test.txt # django -async-timeout==4.0.3 - # via - # -r requirements/test.txt - # redis attrs==23.2.0 # via # -r requirements/test.txt @@ -24,10 +20,6 @@ babel==2.14.0 # via # pydata-sphinx-theme # sphinx -backports-zoneinfo==0.2.1 - # via - # -r requirements/test.txt - # django beautifulsoup4==4.12.3 # via pydata-sphinx-theme build==1.1.1 @@ -77,7 +69,7 @@ django-waffle==4.1.0 # -r requirements/test.txt # edx-django-utils # edx-toggles -docutils==0.19 +docutils==0.20.1 # via # pydata-sphinx-theme # readme-renderer @@ -93,10 +85,6 @@ edx-opaque-keys[django]==2.5.1 # openedx-events edx-toggles==5.1.1 # via -r requirements/test.txt -exceptiongroup==1.2.0 - # via - # -r requirements/test.txt - # pytest fastavro==1.9.4 # via # -r requirements/test.txt @@ -105,14 +93,10 @@ idna==3.6 # via requests imagesize==1.4.1 # via sphinx -importlib-metadata==7.0.2 +importlib-metadata==6.11.0 # via - # build - # keyring - # sphinx + # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # twine -importlib-resources==6.1.3 - # via keyring iniconfig==2.0.0 # via # -r requirements/test.txt @@ -140,7 +124,7 @@ mdurl==0.1.2 # via markdown-it-py more-itertools==10.2.0 # via jaraco-classes -newrelic==9.7.0 +newrelic==9.7.1 # via # -r requirements/test.txt # edx-django-utils @@ -173,7 +157,7 @@ pycparser==2.21 # via # -r requirements/test.txt # cffi -pydata-sphinx-theme==0.14.4 +pydata-sphinx-theme==0.15.2 # via sphinx-book-theme pygments==2.17.2 # via @@ -205,8 +189,6 @@ python-slugify==8.0.4 # via # -r requirements/test.txt # code-annotations -pytz==2024.1 - # via babel pyyaml==6.0.1 # via # -r requirements/test.txt @@ -234,24 +216,24 @@ snowballstemmer==2.2.0 # via sphinx soupsieve==2.5 # via beautifulsoup4 -sphinx==6.2.1 +sphinx==7.2.6 # via # -r requirements/doc.in # pydata-sphinx-theme # sphinx-book-theme -sphinx-book-theme==1.0.1 +sphinx-book-theme==1.1.2 # via -r requirements/doc.in -sphinxcontrib-applehelp==1.0.4 +sphinxcontrib-applehelp==1.0.8 # via sphinx -sphinxcontrib-devhelp==1.0.2 +sphinxcontrib-devhelp==1.0.6 # via sphinx -sphinxcontrib-htmlhelp==2.0.1 +sphinxcontrib-htmlhelp==2.0.5 # via sphinx sphinxcontrib-jsmath==1.0.1 # via sphinx -sphinxcontrib-qthelp==1.0.3 +sphinxcontrib-qthelp==1.0.7 # via sphinx -sphinxcontrib-serializinghtml==1.1.5 +sphinxcontrib-serializinghtml==1.1.10 # via sphinx sqlparse==0.4.4 # via @@ -267,22 +249,13 @@ text-unidecode==1.3 # via # -r requirements/test.txt # python-slugify -tomli==2.0.1 - # via - # -r requirements/test.txt - # build - # coverage - # pyproject-hooks - # pytest twine==5.0.0 # via -r requirements/doc.in typing-extensions==4.10.0 # via # -r requirements/test.txt - # asgiref # edx-opaque-keys # pydata-sphinx-theme - # rich urllib3==2.2.1 # via # requests @@ -290,6 +263,4 @@ urllib3==2.2.1 walrus==0.9.3 # via -r requirements/test.txt zipp==3.17.0 - # via - # importlib-metadata - # importlib-resources + # via importlib-metadata diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index 82cca79..fcd70eb 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade @@ -8,8 +8,6 @@ build==1.1.1 # via pip-tools click==8.1.7 # via pip-tools -importlib-metadata==7.0.2 - # via build packaging==24.0 # via build pip-tools==7.4.1 @@ -18,15 +16,8 @@ pyproject-hooks==1.0.0 # via # build # pip-tools -tomli==2.0.1 - # via - # build - # pip-tools - # pyproject-hooks -wheel==0.42.0 +wheel==0.43.0 # via pip-tools -zipp==3.17.0 - # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: # pip diff --git a/requirements/pip.txt b/requirements/pip.txt index 6665603..bed37b8 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -1,10 +1,10 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade # -wheel==0.42.0 +wheel==0.43.0 # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/quality.txt b/requirements/quality.txt index 9ef64d5..629d984 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade @@ -12,18 +12,10 @@ astroid==3.1.0 # via # pylint # pylint-celery -async-timeout==4.0.3 - # via - # -r requirements/test.txt - # redis attrs==23.2.0 # via # -r requirements/test.txt # openedx-events -backports-zoneinfo==0.2.1 - # via - # -r requirements/test.txt - # django cffi==1.16.0 # via # -r requirements/test.txt @@ -82,10 +74,6 @@ edx-opaque-keys[django]==2.5.1 # openedx-events edx-toggles==5.1.1 # via -r requirements/test.txt -exceptiongroup==1.2.0 - # via - # -r requirements/test.txt - # pytest fastavro==1.9.4 # via # -r requirements/test.txt @@ -108,7 +96,7 @@ markupsafe==2.1.5 # jinja2 mccabe==0.7.0 # via pylint -newrelic==9.7.0 +newrelic==9.7.1 # via # -r requirements/test.txt # edx-django-utils @@ -201,20 +189,11 @@ text-unidecode==1.3 # via # -r requirements/test.txt # python-slugify -tomli==2.0.1 - # via - # -r requirements/test.txt - # coverage - # pylint - # pytest tomlkit==0.12.4 # via pylint typing-extensions==4.10.0 # via # -r requirements/test.txt - # asgiref - # astroid # edx-opaque-keys - # pylint walrus==0.9.3 # via -r requirements/test.txt diff --git a/requirements/test.txt b/requirements/test.txt index 5dea707..5d7f912 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade @@ -8,18 +8,10 @@ asgiref==3.7.2 # via # -r requirements/base.txt # django -async-timeout==4.0.3 - # via - # -r requirements/base.txt - # redis attrs==23.2.0 # via # -r requirements/base.txt # openedx-events -backports-zoneinfo==0.2.1 - # via - # -r requirements/base.txt - # django cffi==1.16.0 # via # -r requirements/base.txt @@ -67,8 +59,6 @@ edx-opaque-keys[django]==2.5.1 # openedx-events edx-toggles==5.1.1 # via -r requirements/base.txt -exceptiongroup==1.2.0 - # via pytest fastavro==1.9.4 # via # -r requirements/base.txt @@ -83,7 +73,7 @@ markupsafe==2.1.5 # via # -r requirements/base.txt # jinja2 -newrelic==9.7.0 +newrelic==9.7.1 # via # -r requirements/base.txt # edx-django-utils @@ -147,14 +137,9 @@ text-unidecode==1.3 # via # -r requirements/base.txt # python-slugify -tomli==2.0.1 - # via - # coverage - # pytest typing-extensions==4.10.0 # via # -r requirements/base.txt - # asgiref # edx-opaque-keys walrus==0.9.3 # via -r requirements/base.txt