Skip to content

Commit

Permalink
feat!: upgrade to django42
Browse files Browse the repository at this point in the history
  • Loading branch information
zubairshakoorarbisoft authored and UsamaSadiq committed Oct 10, 2023
1 parent 0756267 commit 441a45b
Show file tree
Hide file tree
Showing 15 changed files with 92 additions and 25 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:
matrix:
os: [ubuntu-20.04]
python-version: ['3.8']
toxenv: [django32, django42, quality, pii_check]
toxenv: [django42, quality, pii_check]

steps:
- uses: actions/checkout@v2
Expand Down
14 changes: 13 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,20 @@ migrate: ## apply database migrations
html_coverage: ## generate and view HTML coverage report
coverage html && open htmlcov/index.html

define COMMON_CONSTRAINTS_TEMP_COMMENT
# This is a temporary solution to override the real common_constraints.txt\n# In edx-lint, until the pyjwt constraint in edx-lint has been removed.\n# See BOM-2721 for more details.\n# Below is the copied and edited version of common_constraints\n
endef

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 "$(@)"
echo "$(COMMON_CONSTRAINTS_TEMP_COMMENT)" | cat - $(@) > temp && mv temp $(@)

upgrade: export CUSTOM_COMPILE_COMMAND=make upgrade
upgrade: piptools ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in
upgrade: piptools $(COMMON_CONSTRAINTS_TXT) ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in
sed 's/Django<4.0//g' requirements/common_constraints.txt > requirements/common_constraints.tmp
mv requirements/common_constraints.tmp requirements/common_constraints.txt
# Make sure to compile files after any other files they include!
pip-compile --upgrade --allow-unsafe --rebuild -o requirements/pip.txt requirements/pip.in
pip-compile --upgrade -o requirements/pip-tools.txt requirements/pip-tools.in
Expand Down
5 changes: 5 additions & 0 deletions edx_exams/settings/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,11 @@ def root(*path_fragments):

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'),
)
Expand Down
6 changes: 3 additions & 3 deletions requirements/base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ attrs==23.1.0
# via
# lti-consumer-xblock
# openedx-events
backports-zoneinfo==0.2.1
# via django
bleach==6.0.0
# via lti-consumer-xblock
boto3==1.28.59
Expand Down Expand Up @@ -50,7 +52,6 @@ defusedxml==0.8.0rc2
# social-auth-core
django==3.2.22
# via
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
# -r requirements/base.in
# django-appconf
# django-config-models
Expand Down Expand Up @@ -99,7 +100,7 @@ django-rest-swagger==2.2.0
# via -r requirements/base.in
django-simple-history==3.0.0
# 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-statici18n==2.4.0
# via lti-consumer-xblock
Expand Down Expand Up @@ -266,7 +267,6 @@ python3-openid==3.2.0
pytz==2023.3.post1
# via
# -r requirements/base.in
# django
# djangorestframework
# drf-yasg
# xblock
Expand Down
2 changes: 1 addition & 1 deletion requirements/ci.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ six==1.16.0
# via tox
tox==3.28.0
# via
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
# -c requirements/constraints.txt
# -r requirements/ci.in
virtualenv==20.24.5
# via tox
32 changes: 32 additions & 0 deletions requirements/common_constraints.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# 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.
#
# Similar to other constraint files this file doesn't install any packages.
# It specifies version constraints that will be applied if a package is needed.
# When pinning something here, please provide an explanation of why it is a good
# idea to pin this package across all edx repos, Ideally, link to other information
# that will help people in the future to remove the pin when possible.
# Writing an issue against the offending project and linking to it here is good.
#
# Note: Changes to this file will automatically be used by other repos, referencing
# this file from Github directly. It does not require packaging in edx-lint.


# using LTS django version


# 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

# 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
6 changes: 4 additions & 2 deletions requirements/constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@
# pin when possible. Writing an issue against the offending project and
# linking to it here is good.

# Common constraints for edx repos
-c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt

Django<4.3

# Common constraints for edx repos
-c common_constraints.txt

5 changes: 4 additions & 1 deletion requirements/dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ attrs==23.1.0
# -r requirements/validation.txt
# lti-consumer-xblock
# openedx-events
backports-zoneinfo==0.2.1
# via
# -r requirements/validation.txt
# django
bleach==6.0.0
# via
# -r requirements/validation.txt
Expand Down Expand Up @@ -536,7 +540,6 @@ python3-openid==3.2.0
pytz==2023.3.post1
# via
# -r requirements/validation.txt
# django
# djangorestframework
# drf-yasg
# xblock
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.22
django==4.2.5
9 changes: 6 additions & 3 deletions requirements/doc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ attrs==23.1.0
# openedx-events
babel==2.13.0
# via sphinx
backports-zoneinfo==0.2.1
# via
# -r requirements/test.txt
# django
bleach==6.0.0
# via
# -r requirements/test.txt
Expand Down Expand Up @@ -105,7 +109,6 @@ distlib==0.3.7
# virtualenv
django==3.2.22
# via
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
# -r requirements/test.txt
# django-appconf
# django-config-models
Expand Down Expand Up @@ -163,7 +166,7 @@ django-rest-swagger==2.2.0
# via -r requirements/test.txt
django-simple-history==3.0.0
# 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-statici18n==2.4.0
# via
Expand Down Expand Up @@ -639,7 +642,7 @@ 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
# -c requirements/constraints.txt
# -r requirements/test.txt
twine==4.0.2
# via -r requirements/doc.in
Expand Down
5 changes: 4 additions & 1 deletion requirements/production.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ attrs==23.1.0
# -r requirements/base.txt
# lti-consumer-xblock
# openedx-events
backports-zoneinfo==0.2.1
# via
# -r requirements/base.txt
# django
bleach==6.0.0
# via
# -r requirements/base.txt
Expand Down Expand Up @@ -362,7 +366,6 @@ python3-openid==3.2.0
pytz==2023.3.post1
# via
# -r requirements/base.txt
# django
# djangorestframework
# drf-yasg
# xblock
Expand Down
10 changes: 6 additions & 4 deletions requirements/quality.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ attrs==23.1.0
# -r requirements/test.txt
# lti-consumer-xblock
# openedx-events
backports-zoneinfo==0.2.1
# via
# -r requirements/test.txt
# django
bleach==6.0.0
# via
# -r requirements/test.txt
Expand Down Expand Up @@ -99,7 +103,6 @@ distlib==0.3.7
# virtualenv
django==3.2.22
# via
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
# -r requirements/test.txt
# django-appconf
# django-config-models
Expand Down Expand Up @@ -157,7 +160,7 @@ django-rest-swagger==2.2.0
# via -r requirements/test.txt
django-simple-history==3.0.0
# 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-statici18n==2.4.0
# via
Expand Down Expand Up @@ -493,7 +496,6 @@ python3-openid==3.2.0
pytz==2023.3.post1
# via
# -r requirements/test.txt
# django
# djangorestframework
# drf-yasg
# xblock
Expand Down Expand Up @@ -597,7 +599,7 @@ 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
# -c requirements/constraints.txt
# -r requirements/test.txt
twine==4.0.2
# via -r requirements/quality.in
Expand Down
10 changes: 6 additions & 4 deletions requirements/test.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ attrs==23.1.0
# -r requirements/base.txt
# lti-consumer-xblock
# openedx-events
backports-zoneinfo==0.2.1
# via
# -r requirements/base.txt
# django
bleach==6.0.0
# via
# -r requirements/base.txt
Expand Down Expand Up @@ -92,7 +96,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
# -r requirements/base.txt
# django-appconf
# django-config-models
Expand Down Expand Up @@ -150,7 +153,7 @@ django-rest-swagger==2.2.0
# via -r requirements/base.txt
django-simple-history==3.0.0
# 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-statici18n==2.4.0
# via
Expand Down Expand Up @@ -433,7 +436,6 @@ python3-openid==3.2.0
pytz==2023.3.post1
# via
# -r requirements/base.txt
# django
# djangorestframework
# drf-yasg
# xblock
Expand Down Expand Up @@ -523,7 +525,7 @@ 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
# -c requirements/constraints.txt
# -r requirements/test.in
types-pyyaml==6.0.12.12
# via responses
Expand Down
6 changes: 5 additions & 1 deletion requirements/validation.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,11 @@ attrs==23.1.0
# -r requirements/test.txt
# lti-consumer-xblock
# openedx-events
backports-zoneinfo==0.2.1
# via
# -r requirements/quality.txt
# -r requirements/test.txt
# django
bleach==6.0.0
# via
# -r requirements/quality.txt
Expand Down Expand Up @@ -632,7 +637,6 @@ pytz==2023.3.post1
# via
# -r requirements/quality.txt
# -r requirements/test.txt
# django
# djangorestframework
# drf-yasg
# xblock
Expand Down
3 changes: 1 addition & 2 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[tox]
envlist = py38-django{32,42}, quality, docs, pii_check
envlist = py38-django{42}, quality, docs, pii_check
skipsdist = true

[doc8]
Expand Down Expand Up @@ -43,7 +43,6 @@ filterwarnings =

[testenv]
deps =
django32: Django>=3.2,<4.0
django42: Django>=4.2,<4.3
-r{toxinidir}/requirements/test.txt
commands =
Expand Down

0 comments on commit 441a45b

Please sign in to comment.