Skip to content

Commit

Permalink
Merge pull request #333 from openedx/jenkins/add-python312-support-8f…
Browse files Browse the repository at this point in the history
…a11d1

feat: add python 3.12 support
  • Loading branch information
Feanil Patel authored Apr 2, 2024
2 parents 27914a2 + 0680efc commit 8c92b7a
Show file tree
Hide file tree
Showing 16 changed files with 177 additions and 110 deletions.
7 changes: 5 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,11 @@ jobs:
strategy:
matrix:
os: [ubuntu-20.04]
python-version: ['3.8']
toxenv: [quality, docs, django32-drflatest, django42-drflatest, check_keywords]
python-version:
- '3.8'
- '3.11'
- '3.12'
toxenv: [quality, docs, django42-drflatest, check_keywords, django42]
steps:
- uses: actions/checkout@v4
- name: setup python
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ Change Log

.. There should always be an "Unreleased" section for changes pending release.
[2.6.0] - 2024-03-30
~~~~~~~~~~~~~~~~~~~~

* Adding python3.11 and 3.12 support.


[2.5.1] - 2023-09-22
~~~~~~~~~~~~~~~~~~~~

Expand Down
7 changes: 6 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,13 @@ extract_translations: ## extract strings to be translated, outputting .mo files

fake_translations: extract_translations dummy_translations compile_translations ## generate and compile dummy translation files

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 "$(@)"

upgrade: export CUSTOM_COMPILE_COMMAND=make upgrade
upgrade: ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in
upgrade: $(COMMON_CONSTRAINTS_TXT) # update the requirements/*.txt files with the latest packages satisfying requirements/*.in
pip install -r requirements/pip-tools.txt
pip-compile --upgrade --allow-unsafe --rebuild -o requirements/pip.txt requirements/pip.in
pip-compile --no-emit-trusted-host --no-emit-index-url --rebuild --upgrade -o requirements/pip-tools.txt requirements/pip-tools.in
Expand Down
2 changes: 1 addition & 1 deletion config_models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
Configuration models for Django allowing config management with auditing.
"""

__version__ = '2.5.1'
__version__ = '2.6.0'
2 changes: 2 additions & 0 deletions requirements/base.in
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@
Django # Web application framework
djangorestframework>=3.6
edx-django-utils
setuptools
wheel
28 changes: 17 additions & 11 deletions requirements/base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,20 @@
#
# make upgrade
#
asgiref==3.7.2
# via django
backports-zoneinfo==0.2.1
asgiref==3.8.1
# via django
backports-zoneinfo==0.2.1 ; python_version < "3.9"
# via
# -c requirements/constraints.txt
# django
# djangorestframework
cffi==1.16.0
# via pynacl
click==8.1.7
# via edx-django-utils
django==4.2.10
django==4.2.11
# via
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
# -c requirements/common_constraints.txt
# -r requirements/base.in
# django-crum
# django-waffle
Expand All @@ -24,25 +27,28 @@ django-crum==0.7.9
# via edx-django-utils
django-waffle==4.1.0
# via edx-django-utils
djangorestframework==3.14.0
djangorestframework==3.15.1
# via -r requirements/base.in
edx-django-utils==5.10.1
edx-django-utils==5.12.0
# via -r requirements/base.in
newrelic==9.7.0
newrelic==9.8.0
# via edx-django-utils
pbr==6.0.0
# via stevedore
psutil==5.9.8
# via edx-django-utils
pycparser==2.21
pycparser==2.22
# via cffi
pynacl==1.5.0
# via edx-django-utils
pytz==2024.1
# via djangorestframework
sqlparse==0.4.4
# via django
stevedore==5.2.0
# via edx-django-utils
typing-extensions==4.10.0
# via asgiref
wheel==0.43.0
# via -r requirements/base.in

# The following packages are considered to be unsafe in a requirements file:
# setuptools
4 changes: 2 additions & 2 deletions requirements/ci.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@
#
distlib==0.3.8
# via virtualenv
filelock==3.13.1
filelock==3.13.3
# via
# tox
# virtualenv
packaging==23.2
packaging==24.0
# via
# pyproject-api
# tox
Expand Down
32 changes: 32 additions & 0 deletions requirements/common_constraints.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# 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
Django<5.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

# django-simple-history>3.0.0 adds indexing and causes a lot of migrations to be affected
django-simple-history==3.0.0

# opentelemetry requires version 6.x at the moment:
# https://github.com/open-telemetry/opentelemetry-python/issues/3570
# Normally this could be added as a constraint in edx-django-utils, where we're
# adding the opentelemetry dependency. However, when we compile pip-tools.txt,
# that uses version 7.x, and then there's no undoing that when compiling base.txt.
# So we need to pin it globally, for now.
# Ticket for unpinning: https://github.com/openedx/edx-lint/issues/407
importlib-metadata<7
7 changes: 5 additions & 2 deletions requirements/constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,8 @@
# 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
# This file contains all common constraints for edx-repos
-c common_constraints.txt

# Temporary to Support the python 3.11 Upgrade
backports.zoneinfo;python_version<"3.9" # Newer versions have zoneinfo available in the standard library
48 changes: 24 additions & 24 deletions requirements/dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#
# make upgrade
#
asgiref==3.7.2
asgiref==3.8.1
# via
# -r requirements/quality.txt
# django
Expand All @@ -13,11 +13,13 @@ astroid==3.1.0
# -r requirements/quality.txt
# pylint
# pylint-celery
backports-zoneinfo==0.2.1
backports-zoneinfo==0.2.1 ; python_version < "3.9"
# via
# -c requirements/constraints.txt
# -r requirements/quality.txt
# django
build==1.1.1
# djangorestframework
build==1.2.1
# via
# -r requirements/pip-tools.txt
# pip-tools
Expand All @@ -38,11 +40,11 @@ click-log==0.4.0
# via
# -r requirements/quality.txt
# edx-lint
code-annotations==1.6.0
code-annotations==1.7.0
# via
# -r requirements/quality.txt
# edx-lint
coverage[toml]==7.4.3
coverage[toml]==7.4.4
# via
# -r requirements/quality.txt
# pytest-cov
Expand All @@ -56,9 +58,9 @@ 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
# -c requirements/common_constraints.txt
# -r requirements/quality.txt
# django-crum
# django-waffle
Expand All @@ -74,11 +76,11 @@ django-waffle==4.1.0
# via
# -r requirements/quality.txt
# edx-django-utils
djangorestframework==3.14.0
djangorestframework==3.15.1
# via -r requirements/quality.txt
edx-django-release-util==1.3.0
# via -r requirements/quality.txt
edx-django-utils==5.10.1
edx-django-utils==5.12.0
# via -r requirements/quality.txt
edx-i18n-tools==1.3.0
# via -r requirements/dev.in
Expand All @@ -88,15 +90,16 @@ exceptiongroup==1.2.0
# via
# -r requirements/quality.txt
# pytest
filelock==3.13.1
filelock==3.13.3
# via
# -r requirements/ci.txt
# tox
# virtualenv
freezegun==1.4.0
# via -r requirements/quality.txt
importlib-metadata==7.0.1
importlib-metadata==6.11.0
# via
# -c requirements/common_constraints.txt
# -r requirements/pip-tools.txt
# build
iniconfig==2.0.0
Expand All @@ -111,7 +114,7 @@ jinja2==3.1.3
# via
# -r requirements/quality.txt
# code-annotations
lxml==5.1.0
lxml==5.1.1
# via edx-i18n-tools
markupsafe==2.1.5
# via
Expand All @@ -121,11 +124,11 @@ mccabe==0.7.0
# via
# -r requirements/quality.txt
# pylint
newrelic==9.7.0
newrelic==9.8.0
# via
# -r requirements/quality.txt
# edx-django-utils
packaging==23.2
packaging==24.0
# via
# -r requirements/ci.txt
# -r requirements/pip-tools.txt
Expand All @@ -139,7 +142,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
Expand All @@ -165,7 +168,7 @@ py==1.11.0
# tox
pycodestyle==2.11.1
# via -r requirements/quality.txt
pycparser==2.21
pycparser==2.22
# via
# -r requirements/quality.txt
# cffi
Expand Down Expand Up @@ -200,12 +203,12 @@ pyproject-hooks==1.0.0
# -r requirements/pip-tools.txt
# build
# pip-tools
pytest==8.1.0
pytest==8.1.1
# via
# -r requirements/quality.txt
# pytest-cov
# pytest-django
pytest-cov==4.1.0
pytest-cov==5.0.0
# via -r requirements/quality.txt
pytest-django==4.8.0
# via -r requirements/quality.txt
Expand All @@ -217,10 +220,6 @@ python-slugify==8.0.4
# via
# -r requirements/quality.txt
# code-annotations
pytz==2024.1
# via
# -r requirements/quality.txt
# djangorestframework
pyyaml==6.0.1
# via
# -r requirements/quality.txt
Expand Down Expand Up @@ -284,11 +283,12 @@ virtualenv==20.25.1
# via
# -r requirements/ci.txt
# tox
wheel==0.42.0
wheel==0.43.0
# via
# -r requirements/pip-tools.txt
# -r requirements/quality.txt
# pip-tools
zipp==3.17.0
zipp==3.18.1
# via
# -r requirements/pip-tools.txt
# importlib-metadata
Expand Down
Loading

0 comments on commit 8c92b7a

Please sign in to comment.