diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ff8e5e29..03e4db20 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,12 +13,11 @@ jobs: strategy: matrix: os: [ubuntu-20.04] - python-version: ['3.8'] - toxenv: [ - django32-celery53-drf313, django32-celery53-drflatest, - django42-celery53-drflatest, - quality, docs - ] + python-version: + - '3.8' + - '3.12' + toxenv: [django42-celery53-drflatest, django42-celery53-drflatest, + quality, docs, django42] steps: - uses: actions/checkout@v4 diff --git a/requirements/base.txt b/requirements/base.txt index 3f3600ec..668e2b1b 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -8,8 +8,9 @@ amqp==5.2.0 # via kombu asgiref==3.7.2 # via django -backports-zoneinfo[tzdata]==0.2.1 +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # via + # -c requirements/constraints.txt # celery # django # kombu @@ -31,7 +32,7 @@ click-plugins==1.1.1 # via celery click-repl==0.3.0 # via celery -django==4.2.10 +django==4.2.11 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/base.in @@ -50,7 +51,7 @@ inflection==0.5.1 # via drf-yasg kombu==5.3.5 # via celery -packaging==23.2 +packaging==24.0 # via drf-yasg prompt-toolkit==3.0.43 # via click-repl diff --git a/requirements/ci.txt b/requirements/ci.txt index 88a39ff7..9f335db1 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -16,7 +16,7 @@ filelock==3.13.1 # via # tox # virtualenv -packaging==23.2 +packaging==24.0 # via # pyproject-api # tox @@ -32,7 +32,7 @@ tomli==2.0.1 # via # pyproject-api # tox -tox==4.13.0 +tox==4.14.1 # via -r requirements/ci.in virtualenv==20.25.1 # via tox diff --git a/requirements/constraints.txt b/requirements/constraints.txt index f61a3260..fcbfa391 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -13,3 +13,5 @@ -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt celery<6.0 + +backports.zoneinfo;python_version<"3.9" diff --git a/requirements/dev.txt b/requirements/dev.txt index a607be3f..1d8cdeb1 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -17,8 +17,9 @@ astroid==3.1.0 # -r requirements/quality.txt # pylint # pylint-celery -backports-zoneinfo[tzdata]==0.2.1 +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # via + # -c requirements/constraints.txt # -r requirements/test.txt # celery # django @@ -92,7 +93,7 @@ distlib==0.3.8 # via # -r requirements/ci.txt # virtualenv -django==4.2.10 +django==4.2.11 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/test.txt @@ -123,8 +124,9 @@ filelock==3.13.1 # -r requirements/ci.txt # tox # virtualenv -importlib-metadata==7.0.1 +importlib-metadata==6.11.0 # via + # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/pip-tools.txt # build inflection==0.5.1 @@ -159,7 +161,7 @@ mccabe==0.7.0 # pylint mock==5.1.0 # via -r requirements/test.txt -packaging==23.2 +packaging==24.0 # via # -r requirements/ci.txt # -r requirements/pip-tools.txt @@ -175,7 +177,7 @@ pbr==6.0.0 # via # -r requirements/quality.txt # stevedore -pip-tools==7.4.0 +pip-tools==7.4.1 # via -r requirements/pip-tools.txt platformdirs==4.2.0 # via @@ -229,7 +231,7 @@ pyproject-hooks==1.0.0 # -r requirements/pip-tools.txt # build # pip-tools -pytest==8.1.0 +pytest==8.1.1 # via # -r requirements/test.txt # pytest-cov @@ -302,7 +304,7 @@ tomlkit==0.12.4 # via # -r requirements/quality.txt # pylint -tox==4.13.0 +tox==4.14.1 # via -r requirements/ci.txt typing-extensions==4.10.0 # via @@ -335,11 +337,11 @@ wcwidth==0.2.13 # via # -r requirements/test.txt # prompt-toolkit -wheel==0.42.0 +wheel==0.43.0 # via # -r requirements/pip-tools.txt # pip-tools -zipp==3.17.0 +zipp==3.18.0 # via # -r requirements/pip-tools.txt # importlib-metadata diff --git a/requirements/doc.txt b/requirements/doc.txt index 06e00b90..01c4aa73 100644 --- a/requirements/doc.txt +++ b/requirements/doc.txt @@ -24,8 +24,9 @@ babel==2.14.0 # via # pydata-sphinx-theme # sphinx -backports-zoneinfo[tzdata]==0.2.1 +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # via + # -c requirements/constraints.txt # -r requirements/base.txt # celery # django @@ -75,7 +76,7 @@ cryptography==42.0.5 # via secretstorage deepmerge==1.1.1 # via sphinxcontrib-openapi -django==4.2.10 +django==4.2.11 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/base.txt @@ -107,12 +108,13 @@ idna==3.6 # via requests imagesize==1.4.1 # via sphinx -importlib-metadata==7.0.1 +importlib-metadata==6.11.0 # via + # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # keyring # sphinx # twine -importlib-resources==6.1.2 +importlib-resources==6.3.0 # via # jsonschema # jsonschema-specifications @@ -157,7 +159,7 @@ nh3==0.2.15 # via readme-renderer openapi-codec==1.3.2 # via django-rest-swagger -packaging==23.2 +packaging==24.0 # via # -r requirements/base.txt # drf-yasg @@ -310,7 +312,7 @@ wcwidth==0.2.13 # via # -r requirements/base.txt # prompt-toolkit -zipp==3.17.0 +zipp==3.18.0 # via # importlib-metadata # importlib-resources diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index 8528adba..8c586a23 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -8,11 +8,13 @@ build==1.1.1 # via pip-tools click==8.1.7 # via pip-tools -importlib-metadata==7.0.1 - # via build -packaging==23.2 +importlib-metadata==6.11.0 + # via + # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt + # build +packaging==24.0 # via build -pip-tools==7.4.0 +pip-tools==7.4.1 # via -r requirements/pip-tools.in pyproject-hooks==1.0.0 # via @@ -23,9 +25,9 @@ tomli==2.0.1 # build # pip-tools # pyproject-hooks -wheel==0.42.0 +wheel==0.43.0 # via pip-tools -zipp==3.17.0 +zipp==3.18.0 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/pip.txt b/requirements/pip.txt index 66656035..0094cc68 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -4,7 +4,7 @@ # # 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/test.txt b/requirements/test.txt index 35c2ff71..cf663f9d 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -12,8 +12,9 @@ asgiref==3.7.2 # via # -r requirements/base.txt # django -backports-zoneinfo[tzdata]==0.2.1 +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # via + # -c requirements/constraints.txt # -r requirements/base.txt # celery # django @@ -74,7 +75,7 @@ kombu==5.3.5 # celery mock==5.1.0 # via -r requirements/test.in -packaging==23.2 +packaging==24.0 # via # -r requirements/base.txt # -r requirements/test.in @@ -86,7 +87,7 @@ prompt-toolkit==3.0.43 # via # -r requirements/base.txt # click-repl -pytest==8.1.0 +pytest==8.1.1 # via # pytest-cov # pytest-django diff --git a/tox.ini b/tox.ini index d70c7231..17aa2684 100644 --- a/tox.ini +++ b/tox.ini @@ -1,26 +1,25 @@ [tox] -envlist = - py38-django{32,42}-celery{53}-drf{313,latest} +envlist = + py{38,312}-django{42}-celery{53}-drf{313,latest} quality docs - [testenv] -deps = - django32: Django>=3.2,<4.0 +deps = django42: Django>=4.2,<4.3 - drf313: djangorestframework>=3.13,<3.14 drflatest: djangorestframework -r{toxinidir}/requirements/test.txt -commands = +commands = python -Wd -m pytest --cov user_tasks {posargs} [testenv:docs] -allowlist_externals = +allowlist_externals = make rm deps = + setuptools + wheel -r{toxinidir}/requirements/doc.txt -commands = +commands = doc8 --ignore-path docs/_build --ignore-path docs/rest_api.rst README.rst docs rm -f docs/user_tasks.rst rm -f docs/modules.rst @@ -30,15 +29,15 @@ commands = twine check dist/* [testenv:quality] -allowlist_externals = +allowlist_externals = make rm touch -deps = +deps = -r{toxinidir}/requirements/doc.txt -r{toxinidir}/requirements/quality.txt -r{toxinidir}/requirements/test.txt -commands = +commands = touch tests/__init__.py pylint user_tasks pylint tests