Skip to content

Commit

Permalink
feat: upgrade django to 4.2
Browse files Browse the repository at this point in the history
  • Loading branch information
irtazaakram committed Sep 27, 2023
1 parent 733e7c9 commit 0339450
Show file tree
Hide file tree
Showing 18 changed files with 183 additions and 164 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
fail-fast: false
matrix:
python-version: ['3.8']
toxenv: [quality, docs, django32-celery53, django42-celery53, django32-pii-annotations]
toxenv: [quality, docs, django42-celery53, django42-pii-annotations]
env:
RUNJSHINT: true
steps:
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ fix: enterprise sso orchestrator api cleanup
[4.3.1]
-------
chore: use lms_update_or_create_enrollment without feature flag
feat: upgrade Django to 4.2 & drop support for Django 3.2

[4.3.0]
-------
Expand Down
7 changes: 5 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,6 @@ $(COMMON_CONSTRAINTS_TXT):
echo "$(COMMON_CONSTRAINTS_TEMP_COMMENT)" | cat - $(@) > temp && mv temp $(@)

check_pins: $(COMMON_CONSTRAINTS_TXT) ## check that our local copy of edx-platform pins is accurate
sed 's/Django<2.3//g' requirements/common_constraints.txt > requirements/common_constraints.tmp
mv requirements/common_constraints.tmp requirements/common_constraints.txt
echo "### DON'T edit this file, it's copied from edx-platform. See make upgrade" > $(LOCAL_EDX_PINS)
curl -fsSL $(PLATFORM_BASE_REQS) | grep -v '^-e' | grep -v 'via edx-enterprise$$' >> $(LOCAL_EDX_PINS)
# These requirement pins are removed because this is causing a deadlock in upgrading celery in both
Expand All @@ -106,6 +104,11 @@ check_pins: $(COMMON_CONSTRAINTS_TXT) ## check that our local copy of edx-platfo

upgrade: export CUSTOM_COMPILE_COMMAND=make upgrade
upgrade: requirements check_pins ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in
# temp solution to avoid django 3.2
sed 's/django==3.2.21//g' requirements/edx-platform-constraints.txt > requirements/edx-platform-constraints.tmp
mv requirements/edx-platform-constraints.tmp requirements/edx-platform-constraints.txt
sed 's/Django<4.0//g' requirements/common_constraints.txt > requirements/common_constraints.tmp
mv requirements/common_constraints.tmp requirements/common_constraints.txt
sed '/^django-simple-history==/d' requirements/common_constraints.txt > requirements/common_constraints.tmp
mv requirements/common_constraints.tmp requirements/common_constraints.txt
$(PIP_COMPILE) --no-emit-trusted-host --no-emit-index-url -o requirements/test-master.txt requirements/test-master.in
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Generated by Django 4.2.5 on 2023-09-27 14:03

from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

dependencies = [
('enterprise', '0186_auto_20230921_1828'),
]

operations = [
migrations.AlterField(
model_name='learnercreditenterprisecourseenrollment',
name='enterprise_course_enrollment',
field=models.OneToOneField(blank=True, help_text='The course enrollment the associated subsidy is for.', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='%(class)s_enrollment_fulfillment', to='enterprise.enterprisecourseenrollment'),
),
migrations.AlterField(
model_name='learnercreditenterprisecourseenrollment',
name='enterprise_course_entitlement',
field=models.OneToOneField(blank=True, help_text='The course entitlement the associated subsidy is for.', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='%(class)s_entitlement_fulfillment', to='enterprise.enterprisecourseentitlement'),
),
migrations.AlterField(
model_name='licensedenterprisecourseenrollment',
name='enterprise_course_enrollment',
field=models.OneToOneField(blank=True, help_text='The course enrollment the associated subsidy is for.', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='%(class)s_enrollment_fulfillment', to='enterprise.enterprisecourseenrollment'),
),
migrations.AlterField(
model_name='licensedenterprisecourseenrollment',
name='enterprise_course_entitlement',
field=models.OneToOneField(blank=True, help_text='The course entitlement the associated subsidy is for.', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='%(class)s_entitlement_fulfillment', to='enterprise.enterprisecourseentitlement'),
),
]
2 changes: 1 addition & 1 deletion enterprise/static/enterprise/bundles/main.style.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion integrated_channels/integrated_channel/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ def fetch_orphaned_content_audits(self):
enterprise_customer=self.enterprise_customer,
remote_deleted_at__isnull=True,
remote_created_at__isnull=False,
).filter(~non_existent_catalogs_filter | null_catalogs_filter)
).filter(~non_existent_catalogs_filter | null_catalogs_filter) # pylint: disable=unsupported-binary-operation

def update_content_synced_at(self, action_happened_at, was_successful):
"""
Expand Down
2 changes: 1 addition & 1 deletion requirements/check_pins.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,4 @@ def check_pins(our_file, their_file):
print(their_pkg)
print("")

check_pins(*sys.argv[1:]) # pylint: disable=too-many-function-args
check_pins(*sys.argv[1:])
5 changes: 1 addition & 4 deletions requirements/common_constraints.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@




# A central location for most common version constraints
# (across edx repos) for pip-installation.
#
Expand All @@ -17,7 +14,7 @@


# 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
Expand Down
2 changes: 1 addition & 1 deletion requirements/constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

# mock has dropped support for python 3.5 after 3.0.5
mock==3.0.5

# freezegun>0.3.14 requires python-dateutil>2.8.1 to pass the tests which is a dependency of edx-platform
# and edx-drf-extensions.
freezegun==0.3.14
Expand Down
39 changes: 17 additions & 22 deletions requirements/dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ asn1crypto==1.5.1
# -r requirements/test.txt
# oscrypto
# snowflake-connector-python
astroid==2.15.6
astroid==2.15.8
# via
# pylint
# pylint-celery
Expand Down Expand Up @@ -78,6 +78,7 @@ backports-zoneinfo[tzdata]==0.2.1
# -r requirements/test-master.txt
# -r requirements/test.txt
# celery
# django
# kombu
beautifulsoup4==4.12.2
# via
Expand Down Expand Up @@ -205,9 +206,8 @@ dill==0.3.7
# via pylint
distlib==0.3.7
# via virtualenv
django==3.2.21
django==4.2.5
# via
# -c requirements/common_constraints.txt
# -r requirements/doc.txt
# -r requirements/test-master.txt
# -r requirements/test.txt
Expand All @@ -227,12 +227,12 @@ django==3.2.21
# edx-rbac
# edx-toggles
# jsonfield
django-cache-memoize==0.1.10
django-cache-memoize==0.2.0
# via
# -r requirements/doc.txt
# -r requirements/test-master.txt
# -r requirements/test.txt
django-config-models==2.5.0
django-config-models==2.5.1
# via
# -r requirements/doc.txt
# -r requirements/test-master.txt
Expand All @@ -255,7 +255,7 @@ django-fernet-fields-v2==0.9
# -r requirements/doc.txt
# -r requirements/test-master.txt
# -r requirements/test.txt
django-filter==23.2
django-filter==23.3
# via
# -r requirements/doc.txt
# -r requirements/test-master.txt
Expand All @@ -276,7 +276,7 @@ django-multi-email-field==0.7.0
# -r requirements/doc.txt
# -r requirements/test-master.txt
# -r requirements/test.txt
django-oauth-toolkit==1.5.0
django-oauth-toolkit==1.7.1
# via
# -r requirements/doc.txt
# -r requirements/test-master.txt
Expand Down Expand Up @@ -343,7 +343,7 @@ edx-django-utils==5.7.0
# edx-drf-extensions
# edx-rest-api-client
# edx-toggles
edx-drf-extensions==8.9.2
edx-drf-extensions==8.10.0
# via
# -r requirements/doc.txt
# -r requirements/test-master.txt
Expand All @@ -353,7 +353,7 @@ edx-i18n-tools==1.2.0
# via -r requirements/dev.in
edx-lint==5.3.4
# via -r requirements/dev.in
edx-opaque-keys[django]==2.5.0
edx-opaque-keys[django]==2.5.1
# via
# -r requirements/doc.txt
# -r requirements/test-master.txt
Expand Down Expand Up @@ -384,12 +384,12 @@ factory-boy==3.3.0
# -c requirements/constraints.txt
# -r requirements/doc.txt
# -r requirements/test.txt
faker==19.6.1
faker==19.6.2
# via
# -r requirements/doc.txt
# -r requirements/test.txt
# factory-boy
filelock==3.12.3
filelock==3.12.4
# via
# -r requirements/doc.txt
# -r requirements/test-master.txt
Expand Down Expand Up @@ -604,13 +604,13 @@ pycparser==2.21
# -r requirements/test-master.txt
# -r requirements/test.txt
# cffi
pycryptodomex==3.18.0
pycryptodomex==3.19.0
# via
# -r requirements/doc.txt
# -r requirements/test-master.txt
# -r requirements/test.txt
# snowflake-connector-python
pydata-sphinx-theme==0.14.0
pydata-sphinx-theme==0.14.1
# via
# -r requirements/doc.txt
# sphinx-book-theme
Expand All @@ -635,7 +635,7 @@ pyjwt[crypto]==2.8.0
# edx-drf-extensions
# edx-rest-api-client
# snowflake-connector-python
pylint==2.17.5
pylint==2.17.6
# via
# edx-lint
# pylint-celery
Expand Down Expand Up @@ -686,7 +686,6 @@ python-dateutil==2.8.2
# -r requirements/test-master.txt
# -r requirements/test.txt
# celery
# edx-drf-extensions
# faker
# freezegun
python-slugify==8.0.1
Expand All @@ -701,7 +700,6 @@ pytz==2022.7.1
# -r requirements/test-master.txt
# -r requirements/test.txt
# babel
# django
# djangorestframework
# edx-tincan-py35
# snowflake-connector-python
Expand Down Expand Up @@ -756,8 +754,6 @@ six==1.16.0
# -r requirements/test-master.txt
# -r requirements/test.txt
# bleach
# django-oauth-toolkit
# edx-drf-extensions
# edx-lint
# edx-rbac
# freezegun
Expand Down Expand Up @@ -837,7 +833,7 @@ stevedore==5.1.0
# doc8
# edx-django-utils
# edx-opaque-keys
testfixtures==7.1.0
testfixtures==7.2.0
# via
# -r requirements/dev.in
# -r requirements/doc.txt
Expand Down Expand Up @@ -889,7 +885,7 @@ tqdm==4.66.1
# twine
twine==1.11.0
# via -r requirements/dev.in
typing-extensions==4.7.1
typing-extensions==4.8.0
# via
# -r requirements/doc.txt
# -r requirements/test-master.txt
Expand All @@ -899,7 +895,6 @@ typing-extensions==4.7.1
# django-countries
# edx-opaque-keys
# faker
# filelock
# kombu
# pydata-sphinx-theme
# pylint
Expand Down Expand Up @@ -962,7 +957,7 @@ yarl==1.9.2
# -r requirements/test-master.txt
# -r requirements/test.txt
# aiohttp
zipp==3.16.2
zipp==3.17.0
# via
# -r requirements/doc.txt
# importlib-metadata
Expand Down
2 changes: 1 addition & 1 deletion requirements/django.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
django==3.2.21
django==4.2.5
Loading

0 comments on commit 0339450

Please sign in to comment.