diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a4c78cb0..dff28c70 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,8 +14,8 @@ jobs: strategy: matrix: os: [ubuntu-20.04] - python-version: ['3.8'] - toxenv: [django32, django42, quality] + python-version: ['3.8', '3.11'] + toxenv: [django42, quality] steps: - uses: actions/checkout@v2 @@ -62,7 +62,7 @@ jobs: - name: Install Dependencies run: | - pip install "Django<4.0" + pip install "Django>=4.2,<4.3" pip install -r requirements/ci.txt pip install -r requirements/test.txt diff --git a/requirements/constraints.txt b/requirements/constraints.txt index 116e8bf2..20143e98 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -10,3 +10,6 @@ # Common constraints for edx repos -c common_constraints.txt + +# For python greater than or equal to 3.9 backports.zoneinfo is causing failures +backports.zoneinfo;python_version<"3.9" diff --git a/requirements/dev.txt b/requirements/dev.txt index d364a503..01c537fb 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -16,8 +16,9 @@ astroid==3.1.0 # via # pylint # pylint-celery -backports-zoneinfo==0.2.1 +backports-zoneinfo==0.2.1 ; python_version < "3.9" # via + # -c requirements/constraints.txt # django # djangorestframework cachetools==5.3.3 @@ -89,7 +90,7 @@ django-crum==0.7.9 # via # edx-django-utils # edx-toggles -django-model-utils==4.4.0 +django-model-utils==4.5.0 # via -r requirements/base.in django-storages==1.14.2 # via -r requirements/base.in @@ -108,13 +109,13 @@ docutils==0.20.1 # via readme-renderer drf-jwt==1.19.2 # via edx-drf-extensions -edx-django-release-util==1.3.0 +edx-django-release-util==1.4.0 # via -r requirements/base.in -edx-django-utils==5.11.0 +edx-django-utils==5.12.0 # via # edx-drf-extensions # edx-toggles -edx-drf-extensions==10.2.0 +edx-drf-extensions==10.3.0 # via -r requirements/base.in edx-lint==5.3.6 # via -r requirements/quality.in @@ -126,7 +127,7 @@ exceptiongroup==1.2.0 # via # anyio # pytest -fastapi==0.110.0 +fastapi==0.110.1 # via pact-python filelock==3.13.3 # via @@ -154,7 +155,7 @@ isort==5.13.2 # via # -r requirements/quality.in # pylint -jaraco-classes==3.3.1 +jaraco-classes==3.4.0 # via keyring jaraco-context==4.3.0 # via keyring @@ -170,7 +171,7 @@ jinja2==3.1.3 # diff-cover keyring==25.0.0 # via twine -lxml==5.1.0 +lxml==5.2.0 # via -r requirements/base.in markdown-it-py==3.0.0 # via rich @@ -201,7 +202,7 @@ pact-python==2.1.3 # via -r requirements/test.in pbr==6.0.0 # via stevedore -pillow==10.2.0 +pillow==10.3.0 # via -r requirements/base.in pkginfo==1.10.0 # via twine @@ -221,7 +222,7 @@ psutil==5.9.8 # pact-python pycodestyle==2.11.1 # via -r requirements/quality.in -pycparser==2.21 +pycparser==2.22 # via cffi pydantic==2.6.4 # via fastapi @@ -309,7 +310,7 @@ snowballstemmer==2.2.0 # via pydocstyle sqlparse==0.4.4 # via django -starlette==0.36.3 +starlette==0.37.2 # via fastapi stevedore==5.2.0 # via diff --git a/requirements/quality.txt b/requirements/quality.txt index e1a4e2b2..81eee3be 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -16,8 +16,9 @@ astroid==3.1.0 # via # pylint # pylint-celery -backports-zoneinfo==0.2.1 +backports-zoneinfo==0.2.1 ; python_version < "3.9" # via + # -c requirements/constraints.txt # django # djangorestframework certifi==2024.2.2 @@ -75,7 +76,7 @@ django-crum==0.7.9 # via # edx-django-utils # edx-toggles -django-model-utils==4.4.0 +django-model-utils==4.5.0 # via -r requirements/base.in django-storages==1.14.2 # via -r requirements/base.in @@ -92,13 +93,13 @@ docutils==0.20.1 # via readme-renderer drf-jwt==1.19.2 # via edx-drf-extensions -edx-django-release-util==1.3.0 +edx-django-release-util==1.4.0 # via -r requirements/base.in -edx-django-utils==5.11.0 +edx-django-utils==5.12.0 # via # edx-drf-extensions # edx-toggles -edx-drf-extensions==10.2.0 +edx-drf-extensions==10.3.0 # via -r requirements/base.in edx-lint==5.3.6 # via -r requirements/quality.in @@ -110,7 +111,7 @@ exceptiongroup==1.2.0 # via # anyio # pytest -fastapi==0.110.0 +fastapi==0.110.1 # via pact-python fs==2.4.16 # via -r requirements/test.in @@ -134,7 +135,7 @@ isort==5.13.2 # via # -r requirements/quality.in # pylint -jaraco-classes==3.3.1 +jaraco-classes==3.4.0 # via keyring jaraco-context==4.3.0 # via keyring @@ -148,7 +149,7 @@ jinja2==3.1.3 # via code-annotations keyring==25.0.0 # via twine -lxml==5.1.0 +lxml==5.2.0 # via -r requirements/base.in markdown-it-py==3.0.0 # via rich @@ -176,7 +177,7 @@ pact-python==2.1.3 # via -r requirements/test.in pbr==6.0.0 # via stevedore -pillow==10.2.0 +pillow==10.3.0 # via -r requirements/base.in pkginfo==1.10.0 # via twine @@ -190,7 +191,7 @@ psutil==5.9.8 # pact-python pycodestyle==2.11.1 # via -r requirements/quality.in -pycparser==2.21 +pycparser==2.22 # via cffi pydantic==2.6.4 # via fastapi @@ -274,7 +275,7 @@ snowballstemmer==2.2.0 # via pydocstyle sqlparse==0.4.4 # via django -starlette==0.36.3 +starlette==0.37.2 # via fastapi stevedore==5.2.0 # via diff --git a/requirements/test.txt b/requirements/test.txt index 8a8a347b..636f8a2a 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -12,8 +12,9 @@ appdirs==1.4.4 # via fs asgiref==3.8.1 # via django -backports-zoneinfo==0.2.1 +backports-zoneinfo==0.2.1 ; python_version < "3.9" # via + # -c requirements/constraints.txt # django # djangorestframework certifi==2024.2.2 @@ -60,7 +61,7 @@ django-crum==0.7.9 # via # edx-django-utils # edx-toggles -django-model-utils==4.4.0 +django-model-utils==4.5.0 # via -r requirements/base.in django-storages==1.14.2 # via -r requirements/base.in @@ -75,13 +76,13 @@ djangorestframework==3.15.1 # edx-drf-extensions drf-jwt==1.19.2 # via edx-drf-extensions -edx-django-release-util==1.3.0 +edx-django-release-util==1.4.0 # via -r requirements/base.in -edx-django-utils==5.11.0 +edx-django-utils==5.12.0 # via # edx-drf-extensions # edx-toggles -edx-drf-extensions==10.2.0 +edx-drf-extensions==10.3.0 # via -r requirements/base.in edx-opaque-keys==2.5.1 # via edx-drf-extensions @@ -91,7 +92,7 @@ exceptiongroup==1.2.0 # via # anyio # pytest -fastapi==0.110.0 +fastapi==0.110.1 # via pact-python fs==2.4.16 # via -r requirements/test.in @@ -106,7 +107,7 @@ iniconfig==2.0.0 # via pytest jinja2==3.1.3 # via code-annotations -lxml==5.1.0 +lxml==5.2.0 # via -r requirements/base.in markupsafe==2.1.5 # via jinja2 @@ -122,7 +123,7 @@ pact-python==2.1.3 # via -r requirements/test.in pbr==6.0.0 # via stevedore -pillow==10.2.0 +pillow==10.3.0 # via -r requirements/base.in pluggy==1.4.0 # via pytest @@ -130,7 +131,7 @@ psutil==5.9.8 # via # edx-django-utils # pact-python -pycparser==2.21 +pycparser==2.22 # via cffi pydantic==2.6.4 # via fastapi @@ -179,7 +180,7 @@ sniffio==1.3.1 # via anyio sqlparse==0.4.4 # via django -starlette==0.36.3 +starlette==0.37.2 # via fastapi stevedore==5.2.0 # via diff --git a/tox.ini b/tox.ini index 41e0ab2e..c8fffcd3 100644 --- a/tox.ini +++ b/tox.ini @@ -1,22 +1,20 @@ [tox] -envlist = py38-django{32,42}, quality +envlist = py{38,311}-django{42}, quality [testenv] -deps = - django32: Django>=3.2,<4.0 - django40: Django>=4.0,<4.1 +deps = django42: Django>=4.2,<4.3 -r{toxinidir}/requirements/test.txt -commands = +commands = python -Wd -m pytest {posargs} [testenv:quality] basepython = python3.8 -allowlist_externals = +allowlist_externals = make -deps = +deps = -r{toxinidir}/requirements/quality.txt -commands = +commands = pylint edxval pycodestyle edxval pydocstyle edxval @@ -24,4 +22,3 @@ commands = make selfcheck python setup.py sdist bdist_wheel twine check dist/* -