From 737e225a377fcd099f60df48985f1856f333882c Mon Sep 17 00:00:00 2001 From: irtazaakram Date: Thu, 21 Sep 2023 11:42:48 +0500 Subject: [PATCH] feat: django 4.2 upgrade --- .github/workflows/ci.yml | 4 ++-- Makefile | 8 +++++++- enterprise_catalog/apps/core/models.py | 4 ++++ enterprise_catalog/settings/base.py | 9 +++++++-- enterprise_catalog/settings/production.py | 4 ++++ requirements/base.txt | 18 +++++++----------- requirements/common_constraints.txt | 14 +++++++------- requirements/constraints.txt | 3 +-- requirements/dev.txt | 18 +++++++----------- requirements/django.txt | 2 +- requirements/doc.txt | 21 ++++++++------------- requirements/production.txt | 12 ++++++------ requirements/quality.txt | 18 +++++++----------- requirements/test.txt | 22 ++++++++++------------ requirements/validation.txt | 18 +++++++----------- tox.ini | 10 ++++------ 16 files changed, 89 insertions(+), 96 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b34f39c8a..6c44b8abd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ jobs: strategy: matrix: python-version: [py38] - django-version: [django32, django42] + django-version: [django42] steps: - uses: actions/checkout@v2 @@ -27,5 +27,5 @@ jobs: run: | docker exec -e TOXENV=${{ matrix.python-version }}-${{ matrix.django-version }} -u root enterprise.catalog.app /edx/app/enterprise_catalog/enterprise_catalog/validate.sh - name: Code Coverage - if: matrix.python-version == 'py38' && matrix.django-version=='django32' + if: matrix.python-version == 'py38' && matrix.django-version=='django42' uses: codecov/codecov-action@v1 diff --git a/Makefile b/Makefile index 25f1fc6b5..9768ee0cb 100644 --- a/Makefile +++ b/Makefile @@ -11,6 +11,10 @@ TOX = '' dev.up.build dev.down dev.destroy dev.stop docker_build \ shellcheck check_keywords install_transifex_client +COMMON_CONSTRAINTS_TXT=requirements/common_constraints.txt +.PHONY: $(COMMON_CONSTRAINTS_TXT) +$(COMMON_CONSTRAINTS_TXT): + wget -O "$(@)" https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt || touch "$(@)" define BROWSER_PYSCRIPT import os, webbrowser, sys @@ -93,8 +97,10 @@ html_coverage: ## generate and view HTML coverage report coverage html && open htmlcov/index.html upgrade: export CUSTOM_COMPILE_COMMAND=make upgrade -upgrade: piptools ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in +upgrade: $(COMMON_CONSTRAINTS_TXT) piptools ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in # Make sure to compile files after any other files they include! + sed 's/Django<4.0//g' requirements/common_constraints.txt > requirements/common_constraints.tmp + mv requirements/common_constraints.tmp requirements/common_constraints.txt pip-compile --allow-unsafe --rebuild --upgrade -o requirements/pip.txt requirements/pip.in pip-compile --upgrade -o requirements/pip-tools.txt requirements/pip-tools.in pip install -qr requirements/pip.txt diff --git a/enterprise_catalog/apps/core/models.py b/enterprise_catalog/apps/core/models.py index 0227cd356..59e19499d 100644 --- a/enterprise_catalog/apps/core/models.py +++ b/enterprise_catalog/apps/core/models.py @@ -16,6 +16,10 @@ class User(AbstractUser): """ full_name = models.CharField(_('Full Name'), max_length=255, blank=True, null=True) + # this avoids a migration which otherwise would come with Django 3.2 upgrade + # See, https://docs.djangoproject.com/en/3.2/releases/3.1/#abstractuser-first-name-max-length-increased-to-150 + first_name = models.CharField(_('first name'), max_length=30, blank=True) + @property def access_token(self): """ diff --git a/enterprise_catalog/settings/base.py b/enterprise_catalog/settings/base.py index b02d45499..123f29820 100644 --- a/enterprise_catalog/settings/base.py +++ b/enterprise_catalog/settings/base.py @@ -24,8 +24,6 @@ # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = os.environ.get('ENTERPRISE_CATALOG_SECRET_KEY', 'insecure-secret-key') -DEFAULT_HASHING_ALGORITHM = "sha1" - DEFAULT_AUTO_FIELD = "django.db.models.AutoField" # SECURITY WARNING: don't run with debug turned on in production! @@ -158,6 +156,11 @@ USE_TZ = True +# Django 4.0+ uses zoneinfo if this is not set. We can remove this and +# migrate to zoneinfo after Django 4.2 upgrade. See more on following url +# https://docs.djangoproject.com/en/4.2/releases/4.0/#zoneinfo-default-timezone-implementation +USE_DEPRECATED_PYTZ = True + LOCALE_PATHS = ( root('conf', 'locale'), ) @@ -223,6 +226,7 @@ CSRF_COOKIE_SECURE = False CSRF_TRUSTED_ORIGINS = [] +CSRF_TRUSTED_ORIGINS_WITH_SCHEME = [] # just for Django 4.2 upgrade # AUTHENTICATION CONFIGURATION LOGIN_URL = '/login/' @@ -429,3 +433,4 @@ 'VERSION': '1.0.0', 'SERVE_INCLUDE_SCHEMA': False, } + diff --git a/enterprise_catalog/settings/production.py b/enterprise_catalog/settings/production.py index 72705e3f1..472339fed 100644 --- a/enterprise_catalog/settings/production.py +++ b/enterprise_catalog/settings/production.py @@ -1,4 +1,5 @@ from os import environ +import django import yaml from enterprise_catalog.settings.base import * @@ -63,3 +64,6 @@ for override, value in DB_OVERRIDES.items(): DATABASES['default'][override] = value + +if django.VERSION[0] >= 4: # for greater than django 3.2 use schemes. + CSRF_TRUSTED_ORIGINS = CSRF_TRUSTED_ORIGINS_WITH_SCHEME diff --git a/requirements/base.txt b/requirements/base.txt index daed8b6da..cf5b4e64a 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -21,6 +21,7 @@ backoff==1.10.0 backports-zoneinfo[tzdata]==0.2.1 # via # celery + # django # kombu billiard==4.1.0 # via celery @@ -63,10 +64,8 @@ defusedxml==0.7.1 # djangorestframework-xml # python3-openid # social-auth-core -django==3.2.21 +django==4.2.5 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt - # -c requirements/constraints.txt # -r requirements/base.in # django-celery-results # django-clearcache @@ -113,10 +112,8 @@ django-model-utils==4.3.1 # -r requirements/base.in # edx-celeryutils # edx-rbac -django-simple-history==3.0.0 - # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt - # -r requirements/base.in +django-simple-history==3.4.0 + # via -r requirements/base.in django-waffle==4.0.0 # via # edx-django-utils @@ -135,7 +132,7 @@ djangorestframework-xml==2.0.0 # via -r requirements/base.in drf-jwt==1.19.2 # via edx-drf-extensions -drf-spectacular==0.26.4 +drf-spectacular==0.26.5 # via -r requirements/base.in edx-auth-backends==4.2.0 # via -r requirements/base.in @@ -187,7 +184,7 @@ monotonic==1.6 # via analytics-python mysqlclient==2.2.0 # via -r requirements/base.in -newrelic==9.0.0 +newrelic==9.1.0 # via edx-django-utils oauthlib==3.2.2 # via @@ -229,7 +226,6 @@ python3-openid==3.2.0 pytz==2023.3.post1 # via # -r requirements/base.in - # django # djangorestframework pyyaml==6.0.1 # via @@ -311,7 +307,7 @@ vine==5.0.0 # kombu wcwidth==0.2.6 # via prompt-toolkit -xlsxwriter==3.1.4 +xlsxwriter==3.1.5 # via -r requirements/base.in zipp==3.17.0 # via diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index 72021fe71..c84245937 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -1,8 +1,3 @@ -# This is a temporary solution to override the real common_constraints.txt -# In edx-lint, until the pyjwt constraint in edx-lint has been removed. -# See BOM-2721 for more details. -# Below is the copied and edited version of common_constraints - # A central location for most common version constraints # (across edx repos) for pip-installation. # @@ -18,10 +13,15 @@ # using LTS django version -Django<4.0 + # elasticsearch>=7.14.0 includes breaking changes in it which caused issues in discovery upgrade process. # elastic search changelog: https://www.elastic.co/guide/en/enterprise-search/master/release-notes-7.14.0.html elasticsearch<7.14.0 -setuptools<60 +# django-simple-history>3.0.0 adds indexing and causes a lot of migrations to be affected +django-simple-history==3.0.0 + +# tox>4.0.0 isn't yet compatible with many tox plugins, causing CI failures in almost all repos. +# Details can be found in this discussion: https://github.com/tox-dev/tox/discussions/1810 +tox<4.0.0 diff --git a/requirements/constraints.txt b/requirements/constraints.txt index 39067fd08..843a58bce 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -8,8 +8,6 @@ # pin when possible. Writing an issue against the offending project and # linking to it here is good. -Django>=3.2,<4.0 - # Common constraints for edx repos -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt @@ -33,3 +31,4 @@ redis<4 edx-lint<5.3 pylint<2.15 astroid<2.12 + diff --git a/requirements/dev.txt b/requirements/dev.txt index e78c49329..662c60e2b 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -45,6 +45,7 @@ backports-zoneinfo[tzdata]==0.2.1 # -r requirements/quality.txt # -r requirements/test.txt # celery + # django # kombu billiard==4.1.0 # via @@ -152,10 +153,8 @@ distlib==0.3.7 # via # -r requirements/test.txt # virtualenv -django==3.2.21 +django==4.2.5 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt - # -c requirements/constraints.txt # -r requirements/quality.txt # -r requirements/test.txt # django-celery-results @@ -223,9 +222,8 @@ django-model-utils==4.3.1 # -r requirements/test.txt # edx-celeryutils # edx-rbac -django-simple-history==3.0.0 +django-simple-history==3.4.0 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/quality.txt # -r requirements/test.txt django-waffle==4.0.0 @@ -256,7 +254,7 @@ drf-jwt==1.19.2 # -r requirements/quality.txt # -r requirements/test.txt # edx-drf-extensions -drf-spectacular==0.26.4 +drf-spectacular==0.26.5 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -418,7 +416,7 @@ mysqlclient==2.2.0 # via # -r requirements/quality.txt # -r requirements/test.txt -newrelic==9.0.0 +newrelic==9.1.0 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -579,7 +577,6 @@ pytz==2023.3.post1 # via # -r requirements/quality.txt # -r requirements/test.txt - # django # djangorestframework pyyaml==6.0.1 # via @@ -710,12 +707,11 @@ tomlkit==0.12.1 # pylint tox==3.28.0 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/test.txt # tox-battery tox-battery==0.6.2 # via -r requirements/test.txt -types-pyyaml==6.0.12.11 +types-pyyaml==6.0.12.12 # via # -r requirements/test.txt # responses @@ -771,7 +767,7 @@ wrapt==1.15.0 # -r requirements/quality.txt # -r requirements/test.txt # astroid -xlsxwriter==3.1.4 +xlsxwriter==3.1.5 # via # -r requirements/quality.txt # -r requirements/test.txt diff --git a/requirements/django.txt b/requirements/django.txt index 62b5cb851..c7734200a 100644 --- a/requirements/django.txt +++ b/requirements/django.txt @@ -1 +1 @@ -django==3.2.21 +django==4.2.5 diff --git a/requirements/doc.txt b/requirements/doc.txt index 58f0971de..5a43ef21d 100644 --- a/requirements/doc.txt +++ b/requirements/doc.txt @@ -43,6 +43,7 @@ backports-zoneinfo[tzdata]==0.2.1 # via # -r requirements/test.txt # celery + # django # kombu beautifulsoup4==4.12.2 # via pydata-sphinx-theme @@ -126,10 +127,8 @@ distlib==0.3.7 # via # -r requirements/test.txt # virtualenv -django==3.2.21 +django==4.2.5 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt - # -c requirements/constraints.txt # -r requirements/test.txt # django-celery-results # django-clearcache @@ -178,10 +177,8 @@ django-model-utils==4.3.1 # -r requirements/test.txt # edx-celeryutils # edx-rbac -django-simple-history==3.0.0 - # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt - # -r requirements/test.txt +django-simple-history==3.4.0 + # via -r requirements/test.txt django-waffle==4.0.0 # via # -r requirements/test.txt @@ -212,7 +209,7 @@ drf-jwt==1.19.2 # via # -r requirements/test.txt # edx-drf-extensions -drf-spectacular==0.26.4 +drf-spectacular==0.26.5 # via -r requirements/test.txt edx-auth-backends==4.2.0 # via -r requirements/test.txt @@ -326,7 +323,7 @@ monotonic==1.6 # analytics-python mysqlclient==2.2.0 # via -r requirements/test.txt -newrelic==9.0.0 +newrelic==9.1.0 # via # -r requirements/test.txt # edx-django-utils @@ -457,7 +454,6 @@ pytz==2023.3.post1 # via # -r requirements/test.txt # babel - # django # djangorestframework pyyaml==6.0.1 # via @@ -585,12 +581,11 @@ tomlkit==0.12.1 # pylint tox==3.28.0 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/test.txt # tox-battery tox-battery==0.6.2 # via -r requirements/test.txt -types-pyyaml==6.0.12.11 +types-pyyaml==6.0.12.12 # via # -r requirements/test.txt # responses @@ -636,7 +631,7 @@ wrapt==1.15.0 # via # -r requirements/test.txt # astroid -xlsxwriter==3.1.4 +xlsxwriter==3.1.5 # via -r requirements/test.txt zipp==3.17.0 # via diff --git a/requirements/production.txt b/requirements/production.txt index b557ee7fb..d4c464fb3 100644 --- a/requirements/production.txt +++ b/requirements/production.txt @@ -29,6 +29,7 @@ backports-zoneinfo[tzdata]==0.2.1 # via # -r requirements/base.txt # celery + # django # kombu billiard==4.1.0 # via @@ -88,7 +89,7 @@ defusedxml==0.7.1 # djangorestframework-xml # python3-openid # social-auth-core -django==3.2.21 +django==4.2.5 # via # -r requirements/base.txt # django-celery-results @@ -136,7 +137,7 @@ django-model-utils==4.3.1 # -r requirements/base.txt # edx-celeryutils # edx-rbac -django-simple-history==3.0.0 +django-simple-history==3.4.0 # via -r requirements/base.txt django-waffle==4.0.0 # via @@ -159,7 +160,7 @@ drf-jwt==1.19.2 # via # -r requirements/base.txt # edx-drf-extensions -drf-spectacular==0.26.4 +drf-spectacular==0.26.5 # via -r requirements/base.txt edx-auth-backends==4.2.0 # via -r requirements/base.txt @@ -239,7 +240,7 @@ monotonic==1.6 # analytics-python mysqlclient==2.2.0 # via -r requirements/base.txt -newrelic==9.0.0 +newrelic==9.1.0 # via # -r requirements/base.txt # edx-django-utils @@ -310,7 +311,6 @@ python3-openid==3.2.0 pytz==2023.3.post1 # via # -r requirements/base.txt - # django # djangorestframework pyyaml==6.0.1 # via @@ -418,7 +418,7 @@ wcwidth==0.2.6 # via # -r requirements/base.txt # prompt-toolkit -xlsxwriter==3.1.4 +xlsxwriter==3.1.5 # via -r requirements/base.txt zipp==3.17.0 # via diff --git a/requirements/quality.txt b/requirements/quality.txt index 38308d946..17e350f75 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -34,6 +34,7 @@ backports-zoneinfo[tzdata]==0.2.1 # via # -r requirements/base.txt # celery + # django # kombu billiard==4.1.0 # via @@ -101,10 +102,8 @@ defusedxml==0.7.1 # social-auth-core dill==0.3.7 # via pylint -django==3.2.21 +django==4.2.5 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt - # -c requirements/constraints.txt # -r requirements/base.txt # django-celery-results # django-clearcache @@ -151,10 +150,8 @@ django-model-utils==4.3.1 # -r requirements/base.txt # edx-celeryutils # edx-rbac -django-simple-history==3.0.0 - # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt - # -r requirements/base.txt +django-simple-history==3.4.0 + # via -r requirements/base.txt django-waffle==4.0.0 # via # -r requirements/base.txt @@ -176,7 +173,7 @@ drf-jwt==1.19.2 # via # -r requirements/base.txt # edx-drf-extensions -drf-spectacular==0.26.4 +drf-spectacular==0.26.5 # via -r requirements/base.txt edx-auth-backends==4.2.0 # via -r requirements/base.txt @@ -262,7 +259,7 @@ monotonic==1.6 # analytics-python mysqlclient==2.2.0 # via -r requirements/base.txt -newrelic==9.0.0 +newrelic==9.1.0 # via # -r requirements/base.txt # edx-django-utils @@ -350,7 +347,6 @@ python3-openid==3.2.0 pytz==2023.3.post1 # via # -r requirements/base.txt - # django # djangorestframework pyyaml==6.0.1 # via @@ -469,7 +465,7 @@ wcwidth==0.2.6 # prompt-toolkit wrapt==1.15.0 # via astroid -xlsxwriter==3.1.4 +xlsxwriter==3.1.5 # via -r requirements/base.txt zipp==3.17.0 # via diff --git a/requirements/test.txt b/requirements/test.txt index 0797a80bd..367cac23b 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -34,6 +34,7 @@ backports-zoneinfo[tzdata]==0.2.1 # via # -r requirements/base.txt # celery + # django # kombu billiard==4.1.0 # via @@ -111,8 +112,6 @@ dill==0.3.7 distlib==0.3.7 # via virtualenv # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt - # -c requirements/constraints.txt # -r requirements/base.txt # django-celery-results # django-clearcache @@ -161,10 +160,8 @@ django-model-utils==4.3.1 # -r requirements/base.txt # edx-celeryutils # edx-rbac -django-simple-history==3.0.0 - # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt - # -r requirements/base.txt +django-simple-history==3.4.0 + # via -r requirements/base.txt django-waffle==4.0.0 # via # -r requirements/base.txt @@ -186,7 +183,7 @@ drf-jwt==1.19.2 # via # -r requirements/base.txt # edx-drf-extensions -drf-spectacular==0.26.4 +drf-spectacular==0.26.5 # via -r requirements/base.txt edx-auth-backends==4.2.0 # via -r requirements/base.txt @@ -282,7 +279,7 @@ monotonic==1.6 # analytics-python mysqlclient==2.2.0 # via -r requirements/base.txt -newrelic==9.0.0 +newrelic==9.1.0 # via # -r requirements/base.txt # edx-django-utils @@ -293,6 +290,7 @@ oauthlib==3.2.2 # social-auth-core packaging==23.1 # via + # pyproject-api # pytest # tox pbr==5.11.1 @@ -306,6 +304,7 @@ pkgutil-resolve-name==1.3.10 platformdirs==3.10.0 # via # pylint + # tox # virtualenv pluggy==1.3.0 # via @@ -387,7 +386,6 @@ python3-openid==3.2.0 pytz==2023.3.post1 # via # -r requirements/base.txt - # django # djangorestframework pyyaml==6.0.1 # via @@ -476,18 +474,18 @@ tomli==2.0.1 # via # coverage # pylint + # pyproject-api # pytest # tox tomlkit==0.12.1 # via pylint tox==3.28.0 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/test.in # tox-battery tox-battery==0.6.2 # via -r requirements/test.in -types-pyyaml==6.0.12.11 +types-pyyaml==6.0.12.12 # via responses typing-extensions==4.8.0 # via @@ -526,7 +524,7 @@ wcwidth==0.2.6 # prompt-toolkit wrapt==1.15.0 # via astroid -xlsxwriter==3.1.4 +xlsxwriter==3.1.5 # via -r requirements/base.txt zipp==3.17.0 # via diff --git a/requirements/validation.txt b/requirements/validation.txt index d6ae09f30..915a45348 100644 --- a/requirements/validation.txt +++ b/requirements/validation.txt @@ -45,6 +45,7 @@ backports-zoneinfo[tzdata]==0.2.1 # -r requirements/quality.txt # -r requirements/test.txt # celery + # django # kombu billiard==4.1.0 # via @@ -140,10 +141,8 @@ distlib==0.3.7 # via # -r requirements/test.txt # virtualenv -django==3.2.21 +django==4.2.5 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt - # -c requirements/constraints.txt # -r requirements/quality.txt # -r requirements/test.txt # django-celery-results @@ -207,9 +206,8 @@ django-model-utils==4.3.1 # -r requirements/test.txt # edx-celeryutils # edx-rbac -django-simple-history==3.0.0 +django-simple-history==3.4.0 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/quality.txt # -r requirements/test.txt django-waffle==4.0.0 @@ -240,7 +238,7 @@ drf-jwt==1.19.2 # -r requirements/quality.txt # -r requirements/test.txt # edx-drf-extensions -drf-spectacular==0.26.4 +drf-spectacular==0.26.5 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -384,7 +382,7 @@ mysqlclient==2.2.0 # via # -r requirements/quality.txt # -r requirements/test.txt -newrelic==9.0.0 +newrelic==9.1.0 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -527,7 +525,6 @@ pytz==2023.3.post1 # via # -r requirements/quality.txt # -r requirements/test.txt - # django # djangorestframework pyyaml==6.0.1 # via @@ -649,12 +646,11 @@ tomlkit==0.12.1 # pylint tox==3.28.0 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/test.txt # tox-battery tox-battery==0.6.2 # via -r requirements/test.txt -types-pyyaml==6.0.12.11 +types-pyyaml==6.0.12.12 # via # -r requirements/test.txt # responses @@ -706,7 +702,7 @@ wrapt==1.15.0 # -r requirements/quality.txt # -r requirements/test.txt # astroid -xlsxwriter==3.1.4 +xlsxwriter==3.1.5 # via # -r requirements/quality.txt # -r requirements/test.txt diff --git a/tox.ini b/tox.ini index 342d2a745..90a45394a 100644 --- a/tox.ini +++ b/tox.ini @@ -1,13 +1,11 @@ [tox] skipsdist = true -envlist = {py38}-django{32, 42} +envlist = {py38}-django{42} [testenv] -deps = - django32: Django>=3.2,<4.0 - django42: Django>=4.2,<4.3 - django40: Django>=4.0,<4.1 +deps = + django42: Django>=4.2,<5.0 -r{toxinidir}/requirements/test.txt -commands = +commands = {posargs:pytest}