Update tested versions of Python and Django (#24006)

Cleaned up a few more things about the testing configuration now that we've deployed Django 2.2 to production:

* Go back to a single version of django-oauth-toolkit, tox doesn't need to vary it anymore
* Go back to PyPI release of django-method-override
* Remove no longer needed dependency on python-oauth2 (we already removed the package it was used by)
* Update prepare_xdist_nodes.sh with new Django requirements file options
This commit is contained in:
Jeremy Bowman
2020-05-19 12:19:20 -04:00
committed by GitHub
parent cfff2a86aa
commit 47d15ff1a8
10 changed files with 19 additions and 32 deletions

View File

@@ -96,7 +96,7 @@ upgrade: ## update the pip requirements files to use the latest releases satisfy
done
# Post process all of the files generated above to work around open pip-tools issues
scripts/post-pip-compile.sh $(REQ_FILES:=.txt)
# Let tox control the Django version & django-oauth-toolkit version for tests
grep -e "^django==" -e "^django-oauth-toolkit==" requirements/edx/base.txt > requirements/edx/django.txt
sed '/^[dD]jango==/d;/^django-oauth-toolkit==/d' requirements/edx/testing.txt > requirements/edx/testing.tmp
# Let tox control the Django version for tests
grep -e "^django==" requirements/edx/base.txt > requirements/edx/django.txt
sed '/^[dD]jango==/d' requirements/edx/testing.txt > requirements/edx/testing.tmp
mv requirements/edx/testing.tmp requirements/edx/testing.txt

View File

@@ -32,7 +32,7 @@ django-countries==5.5
# django-storages version 1.9 drops support for boto storage backend.
django-storages<1.9
# Support was dropped for Python 3.5, Django 2.0, Django 2.1, DRF 3.7
# Support was dropped for Python 3.5
drf-yasg<1.17.1
# Not properly supporting latest changing of drf-jwt

View File

@@ -46,6 +46,7 @@ django-crum # Middleware that stores the current request
django-fernet-fields # via edx-enterprise (should be added to its setup.py)
django-filter # Allows users to filter Django querysets dynamically
django-ipware # Get the client's real IP address
django-method-override # Allow use of HTTP methods normally not supported by browsers via the X-HTTP-Method-Override header
django-model-utils
django-mptt
django-mysql

View File

@@ -65,7 +65,7 @@ django-fernet-fields==0.6 # via -r requirements/edx/base.in, edx-enterprise, ed
django-filter==2.2.0 # via -r requirements/edx/base.in, edx-enterprise
django-ipware==2.1.0 # via -r requirements/edx/base.in, edx-enterprise, edx-proctoring
django-js-asset==1.2.2 # via django-mptt
git+https://gitlab.com/Ayub-khan/django-method-override.git@5270af321be2e576d8e8b3c4191711a19975c356#egg=django-method-override==1.0.4 # via -r requirements/edx/github.in
django-method-override==1.0.4 # via -r requirements/edx/base.in
django-model-utils==4.0.0 # via -r requirements/edx/base.in, django-user-tasks, edx-bulk-grades, edx-celeryutils, edx-completion, edx-enterprise, edx-milestones, edx-organizations, edx-proctoring, edx-rbac, edx-submissions, edx-when, edxval, ora2, super-csv
django-mptt==0.11.0 # via -r requirements/edx/base.in, django-wiki
django-multi-email-field==0.6.1 # via edx-enterprise
@@ -130,7 +130,6 @@ glob2==0.7 # via -r requirements/edx/base.in
gunicorn==20.0.4 # via -r requirements/edx/base.in
help-tokens==1.1.2 # via -r requirements/edx/base.in
html5lib==1.0.1 # via -r requirements/edx/base.in, ora2
httplib2==0.17.3 # via oauth2
icalendar==4.0.6 # via -r requirements/edx/base.in
idna==2.9 # via -r requirements/edx/paver.txt, requests
importlib-metadata==1.6.0 # via -r requirements/edx/paver.txt, path
@@ -167,7 +166,6 @@ newrelic==5.12.1.141 # via -r requirements/edx/base.in, edx-django-utils
nltk==3.5 # via -r requirements/edx/../edx-sandbox/shared.txt, chem
nodeenv==1.3.5 # via -r requirements/edx/base.in
numpy==1.18.4 # via chem, openedx-calc, scipy
git+https://github.com/joestump/python-oauth2.git@b94f69b1ad195513547924e380d9265133e995fa#egg=oauth2 # via -r requirements/edx/github.in
oauthlib==3.0.1 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.in, django-oauth-toolkit, lti-consumer-xblock, requests-oauthlib, social-auth-core
openedx-calc==1.0.9 # via -r requirements/edx/base.in
git+https://github.com/edx/edx-ora2.git@2.6.25#egg=ora2==2.6.25 # via -r requirements/edx/github.in

View File

@@ -77,7 +77,7 @@ django-fernet-fields==0.6 # via -r requirements/edx/testing.txt, edx-enterprise
django-filter==2.2.0 # via -r requirements/edx/testing.txt, edx-enterprise
django-ipware==2.1.0 # via -r requirements/edx/testing.txt, edx-enterprise, edx-proctoring
django-js-asset==1.2.2 # via -r requirements/edx/testing.txt, django-mptt
git+https://gitlab.com/Ayub-khan/django-method-override.git@5270af321be2e576d8e8b3c4191711a19975c356#egg=django-method-override==1.0.4 # via -r requirements/edx/testing.txt
django-method-override==1.0.4 # via -r requirements/edx/testing.txt
django-model-utils==4.0.0 # via -r requirements/edx/testing.txt, django-user-tasks, edx-bulk-grades, edx-celeryutils, edx-completion, edx-enterprise, edx-milestones, edx-organizations, edx-proctoring, edx-rbac, edx-submissions, edx-when, edxval, ora2, super-csv
django-mptt==0.11.0 # via -r requirements/edx/testing.txt, django-wiki
django-multi-email-field==0.6.1 # via -r requirements/edx/testing.txt, edx-enterprise
@@ -151,7 +151,6 @@ glob2==0.7 # via -r requirements/edx/testing.txt
gunicorn==20.0.4 # via -r requirements/edx/testing.txt
help-tokens==1.1.2 # via -r requirements/edx/testing.txt
html5lib==1.0.1 # via -r requirements/edx/testing.txt, ora2
httplib2==0.17.3 # via -r requirements/edx/testing.txt, oauth2
httpretty==0.9.7 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt
icalendar==4.0.6 # via -r requirements/edx/testing.txt
idna==2.9 # via -r requirements/edx/testing.txt, requests
@@ -200,7 +199,6 @@ newrelic==5.12.1.141 # via -r requirements/edx/testing.txt, edx-django-util
nltk==3.5 # via -r requirements/edx/testing.txt, chem
nodeenv==1.3.5 # via -r requirements/edx/testing.txt
numpy==1.18.4 # via -r requirements/edx/testing.txt, chem, openedx-calc, pandas, scipy
git+https://github.com/joestump/python-oauth2.git@b94f69b1ad195513547924e380d9265133e995fa#egg=oauth2 # via -r requirements/edx/testing.txt
oauthlib==3.0.1 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt, django-oauth-toolkit, lti-consumer-xblock, requests-oauthlib, social-auth-core
openedx-calc==1.0.9 # via -r requirements/edx/testing.txt
git+https://github.com/edx/edx-ora2.git@2.6.25#egg=ora2==2.6.25 # via -r requirements/edx/testing.txt

View File

@@ -1,2 +1 @@
django-oauth-toolkit==1.3.2 # via -r requirements/edx/base.in
django==2.2.12 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.in, code-annotations, django-appconf, django-babel, django-babel-underscore, django-celery, django-classy-tags, django-config-models, django-cors-headers, django-crum, django-fernet-fields, django-filter, django-method-override, django-model-utils, django-mptt, django-multi-email-field, django-mysql, django-oauth-toolkit, django-pyfs, django-ratelimit-backend, django-sekizai, django-splash, django-statici18n, django-storages, django-user-tasks, django-wiki, drf-jwt, drf-yasg, edx-ace, edx-api-doc-tools, edx-bulk-grades, edx-celeryutils, edx-completion, edx-django-release-util, edx-django-sites-extensions, edx-django-utils, edx-drf-extensions, edx-enterprise, edx-i18n-tools, edx-milestones, edx-opaque-keys, edx-organizations, edx-proctoring, edx-rbac, edx-search, edx-submissions, edx-when, edxval, event-tracking, help-tokens, jsonfield2, ora2, rest-condition, super-csv, xss-utils

View File

@@ -1,3 +1 @@
Django>=3.0,<3.1
django-oauth-toolkit==1.3.2

View File

@@ -59,20 +59,23 @@ git+https://github.com/edx/openedx-chem.git@ff4e3a03d3c7610e47a9af08eb648d8aabe2
git+https://github.com/edx/MongoDBProxy.git@d92bafe9888d2940f647a7b2b2383b29c752f35a#egg=MongoDBProxy==0.1.0+edx.2
-e git+https://github.com/dementrock/pystache_custom.git@776973740bdaad83a3b029f96e415a7d1e8bec2f#egg=pystache_custom-dev
-e git+https://github.com/jazkarta/edx-jsme.git@690dbf75441fa91c7c4899df0b83d77f7deb5458#egg=edx-jsme
# The latest 2.0.0 release doesn't yet support Django 2.2, this commit from master does
-e git+https://github.com/jsocol/django-ratelimit.git@72edbe8949fbf6699848e5847645a1998f121d46#egg=ratelimit
# This fork adds django>1.11 and django<3 compatibility for django-babel-underscore. Enmerkar is
# being installed from github to add backward compatibility for django1.11 as named versions are not
# backward compatible.
# Underscore template extractor for django-babel/enmerkar
# This fork adds django>1.11 and django<3 compatibility.
git+https://github.com/edx/django-babel-underscore.git@37705f7377a4d0a4e673f1431895ce28a8860cd7#egg=django-babel-underscore==0.6.0
# Internationalization utilities
# Our django-babel-underscore fork above does not yet work with the newer enmerkar PyPI releases (BOM-1637)
git+https://github.com/Zegocover/enmerkar.git@dbc113798aa4beabdfa2d00e6fef48248eb0f185#egg=django-babel==0.6.3.dev0
# Forked to get Django 2.2 support from unreleased master branch from social-app-django repo.
# This can be removed once an official social-auth-app-django Pypi release with Django 2.2 support is available in the future.
-e git+https://github.com/python-social-auth/social-app-django.git@c00d23c2b45c3317bd35b15ad1b959338689cef8#egg=social-auth-app-django
# Why install sorl-thumbnail directly from github? To use the latest, Django 2.2 compatible version that is not available on PyPi yet.
# This dependency will be removed after package is updated at PyPi
# Why install sorl-thumbnail directly from github? To use a Django 2.2 compatible version before Python 3.5 support was dropped
git+https://github.com/jazzband/sorl-thumbnail.git@13bedfb7d2970809eda597e3ef79318a6fa80ac2#egg=sorl-thumbnail
# Forked to fix predicate inversion and keep support for Django 1.1 alive
@@ -80,10 +83,6 @@ git+https://github.com/jazzband/sorl-thumbnail.git@13bedfb7d2970809eda597e3ef793
# remove this fork
git+https://github.com/edx/bridgekeeper.git@2423e8d8788c2132ebeec509e1a7b17e1f5b9364#egg=bridgekeeper==0.0
# Forked to get Django 1.11 new style middleware support from django-method-override.
# This can be removed once edx-platform is using django>=2.x.
git+https://gitlab.com/Ayub-khan/django-method-override.git@5270af321be2e576d8e8b3c4191711a19975c356#egg=django-method-override==1.0.4
# Our libraries:
-e git+https://github.com/edx/codejail.git@4127fc4bd5775cc72aee8d7f0a70e31405e22439#egg=codejail
-e git+https://github.com/edx/acid-block.git@98aecba94ecbfa934e2d00262741c0ea9f557fc9#egg=acid-xblock
@@ -97,7 +96,6 @@ git+https://github.com/edx/xblock-lti-consumer.git@v1.2.6#egg=lti_consumer-xbloc
# Third Party XBlocks
git+https://github.com/joestump/python-oauth2.git@b94f69b1ad195513547924e380d9265133e995fa#egg=oauth2
git+https://github.com/open-craft/xblock-poll@da2d8fd21791a7af128595cf82bee83ee579e00f#egg=xblock-poll==1.9.6
git+https://github.com/edx-solutions/xblock-drag-and-drop-v2@v2.2.10#egg=xblock-drag-and-drop-v2==2.2.10
git+https://github.com/django-compressor/django-appconf@1526a842ee084b791aa66c931b3822091a442853#egg=django-appconf

View File

@@ -75,11 +75,12 @@ django-fernet-fields==0.6 # via -r requirements/edx/base.txt, edx-enterprise, e
django-filter==2.2.0 # via -r requirements/edx/base.txt, edx-enterprise
django-ipware==2.1.0 # via -r requirements/edx/base.txt, edx-enterprise, edx-proctoring
django-js-asset==1.2.2 # via -r requirements/edx/base.txt, django-mptt
git+https://gitlab.com/Ayub-khan/django-method-override.git@5270af321be2e576d8e8b3c4191711a19975c356#egg=django-method-override==1.0.4 # via -r requirements/edx/base.txt
django-method-override==1.0.4 # via -r requirements/edx/base.txt
django-model-utils==4.0.0 # via -r requirements/edx/base.txt, django-user-tasks, edx-bulk-grades, edx-celeryutils, edx-completion, edx-enterprise, edx-milestones, edx-organizations, edx-proctoring, edx-rbac, edx-submissions, edx-when, edxval, ora2, super-csv
django-mptt==0.11.0 # via -r requirements/edx/base.txt, django-wiki
django-multi-email-field==0.6.1 # via -r requirements/edx/base.txt, edx-enterprise
django-mysql==3.5.0 # via -r requirements/edx/base.txt
django-oauth-toolkit==1.3.2 # via -r requirements/edx/base.txt
django-object-actions==2.0.0 # via -r requirements/edx/base.txt, edx-enterprise
django-pipeline==1.7.0 # via -r requirements/edx/base.txt
django-pyfs==2.1 # via -r requirements/edx/base.txt
@@ -146,7 +147,6 @@ glob2==0.7 # via -r requirements/edx/base.txt
gunicorn==20.0.4 # via -r requirements/edx/base.txt
help-tokens==1.1.2 # via -r requirements/edx/base.txt
html5lib==1.0.1 # via -r requirements/edx/base.txt, ora2
httplib2==0.17.3 # via -r requirements/edx/base.txt, oauth2
httpretty==0.9.7 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.in
icalendar==4.0.6 # via -r requirements/edx/base.txt
idna==2.9 # via -r requirements/edx/base.txt, requests
@@ -191,7 +191,6 @@ newrelic==5.12.1.141 # via -r requirements/edx/base.txt, edx-django-utils
nltk==3.5 # via -r requirements/edx/base.txt, chem
nodeenv==1.3.5 # via -r requirements/edx/base.txt
numpy==1.18.4 # via -r requirements/edx/base.txt, -r requirements/edx/coverage.txt, chem, openedx-calc, pandas, scipy
git+https://github.com/joestump/python-oauth2.git@b94f69b1ad195513547924e380d9265133e995fa#egg=oauth2 # via -r requirements/edx/base.txt
oauthlib==3.0.1 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.txt, django-oauth-toolkit, lti-consumer-xblock, requests-oauthlib, social-auth-core
openedx-calc==1.0.9 # via -r requirements/edx/base.txt
git+https://github.com/edx/edx-ora2.git@2.6.25#egg=ora2==2.6.25 # via -r requirements/edx/base.txt

View File

@@ -13,12 +13,8 @@ python scripts/xdist/pytest_worker_manager.py -a up -n ${XDIST_NUM_WORKERS} \
# Install the correct version of Django depending on which tox environment (if any) is in use
if [[ -z ${TOXENV+x} ]] || [[ ${TOXENV} == 'null' ]]; then
DJANGO_REQUIREMENT="requirements/edx/django.txt"
elif [[ ${TOXENV} == *'django20'* ]]; then
DJANGO_REQUIREMENT="requirements/edx/django20.txt"
elif [[ ${TOXENV} == *'django21'* ]]; then
DJANGO_REQUIREMENT="requirements/edx/django21.txt"
elif [[ ${TOXENV} == *'django22'* ]]; then
DJANGO_REQUIREMENT="requirements/edx/django.txt"
elif [[ ${TOXENV} == *'django30'* ]]; then
DJANGO_REQUIREMENT="requirements/edx/django30.txt"
fi
ip_list=$(<pytest_worker_ips.txt)