Skip to content

Commit

Permalink
Merge pull request #142 from openedx/jenkins/add-python312-support-a2…
Browse files Browse the repository at this point in the history
…cccea

feat: add python 3.11 support
  • Loading branch information
Feanil Patel authored Apr 8, 2024
2 parents a2cccea + dad02d0 commit 716d6d8
Show file tree
Hide file tree
Showing 15 changed files with 270 additions and 205 deletions.
6 changes: 4 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,10 @@ jobs:
strategy:
matrix:
os: [ubuntu-20.04]
python-version: ['3.8']
toxenv: [quality, django32, django42]
python-version:
- '3.8'
- '3.11'
toxenv: [quality, django42]
steps:
- uses: actions/checkout@v2

Expand Down
7 changes: 2 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,8 @@ $(COMMON_CONSTRAINTS_TXT):

upgrade: export CUSTOM_COMPILE_COMMAND=make upgrade
upgrade: piptools $(COMMON_CONSTRAINTS_TXT)## update the requirements/*.txt files with the latest packages satisfying requirements/*.in

sed 's/Django<2.3//g' requirements/common_constraints.txt > requirements/common_constraints.tmp
mv requirements/common_constraints.tmp requirements/common_constraints.txt

pip-compile --rebuild --allow-unsafe -o requirements/pip.txt requirements/pip.in
pip install -qr requirements/pip_tools.txt
pip-compile --allow-unsafe --upgrade --rebuild -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
pip install -qr requirements/pip_tools.txt
Expand Down
2 changes: 1 addition & 1 deletion i18n/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

from . import config

__version__ = '1.3.0'
__version__ = '1.4.0'


class Runner:
Expand Down
21 changes: 13 additions & 8 deletions requirements/base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,27 @@
#
# make upgrade
#
asgiref==3.6.0
asgiref==3.8.1
# via django
django==3.2.17
backports-zoneinfo==0.2.1 ; python_version < "3.9"
# via
# -c requirements/constraints.txt
# django
django==4.2.11
# via
# -c requirements/common_constraints.txt
# -r requirements/base.in
lxml==4.9.3
# via
# -c requirements/constraints.txt
# -r requirements/base.in
path==16.6.0
path==16.10.0
# via -r requirements/base.in
polib==1.1.1
polib==1.2.0
# via -r requirements/base.in
pytz==2022.7.1
# via django
pyyaml==6.0
pyyaml==6.0.1
# via -r requirements/base.in
sqlparse==0.4.3
sqlparse==0.4.4
# via django
typing-extensions==4.10.0
# via asgiref
119 changes: 63 additions & 56 deletions requirements/ci.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,29 @@
#
# make upgrade
#
asgiref==3.6.0
asgiref==3.8.1
# via
# -r requirements/test.txt
# django
astroid==2.14.1
astroid==3.1.0
# via
# -r requirements/test.txt
# pylint
# pylint-celery
attrs==22.2.0
backports-zoneinfo==0.2.1 ; python_version < "3.9"
# via
# -c requirements/constraints.txt
# -r requirements/test.txt
# pytest
click==8.1.3
# django
cachetools==5.3.3
# via
# -r requirements/tox.txt
# tox
chardet==5.2.0
# via
# -r requirements/tox.txt
# tox
click==8.1.7
# via
# -r requirements/test.txt
# click-log
Expand All @@ -27,36 +36,40 @@ click-log==0.4.0
# via
# -r requirements/test.txt
# edx-lint
code-annotations==1.3.0
code-annotations==1.7.0
# via
# -r requirements/test.txt
# edx-lint
coverage[toml]==7.1.0
colorama==0.4.6
# via
# -r requirements/tox.txt
# tox
coverage[toml]==7.4.4
# via
# -r requirements/ci.in
# -r requirements/test.txt
# pytest-cov
ddt==1.6.0
ddt==1.7.2
# via -r requirements/test.txt
dill==0.3.6
dill==0.3.8
# via
# -r requirements/test.txt
# pylint
distlib==0.3.6
distlib==0.3.8
# via
# -r requirements/tox.txt
# virtualenv
django==3.2.17
django==4.2.11
# via
# -c requirements/common_constraints.txt
# -r requirements/test.txt
edx-lint==5.3.0
edx-lint==5.3.6
# via -r requirements/test.txt
exceptiongroup==1.1.0
exceptiongroup==1.2.0
# via
# -r requirements/test.txt
# pytest
filelock==3.9.0
filelock==3.13.3
# via
# -r requirements/tox.txt
# tox
Expand All @@ -65,19 +78,19 @@ iniconfig==2.0.0
# via
# -r requirements/test.txt
# pytest
isort==5.12.0
isort==5.13.2
# via
# -r requirements/test.txt
# pylint
jinja2==3.1.2
jinja2==3.1.3
# via
# -r requirements/test.txt
# code-annotations
lazy-object-proxy==1.9.0
lxml==4.9.3
# via
# -c requirements/constraints.txt
# -r requirements/test.txt
# astroid
markupsafe==2.1.2
markupsafe==2.1.5
# via
# -r requirements/test.txt
# jinja2
Expand All @@ -89,39 +102,37 @@ mock==3.0.5
# via
# -c requirements/constraints.txt
# -r requirements/test.txt
packaging==23.0
packaging==24.0
# via
# -r requirements/test.txt
# -r requirements/tox.txt
# pyproject-api
# pytest
# tox
path==16.6.0
path==16.10.0
# via -r requirements/test.txt
pbr==5.11.1
pbr==6.0.0
# via
# -r requirements/test.txt
# stevedore
platformdirs==3.0.0
platformdirs==4.2.0
# via
# -r requirements/test.txt
# -r requirements/tox.txt
# pylint
# tox
# virtualenv
pluggy==1.0.0
pluggy==1.4.0
# via
# -r requirements/test.txt
# -r requirements/tox.txt
# pytest
# tox
polib==1.1.1
polib==1.2.0
# via -r requirements/test.txt
py==1.11.0
# via
# -r requirements/tox.txt
# tox
pycodestyle==2.10.0
pycodestyle==2.11.1
# via -r requirements/test.txt
pylint==2.16.1
pylint==3.1.0
# via
# -r requirements/test.txt
# edx-lint
Expand All @@ -132,45 +143,45 @@ pylint-celery==0.3
# via
# -r requirements/test.txt
# edx-lint
pylint-django==2.5.3
pylint-django==2.5.5
# via
# -r requirements/test.txt
# edx-lint
pylint-plugin-utils==0.7
pylint-plugin-utils==0.8.2
# via
# -r requirements/test.txt
# pylint-celery
# pylint-django
pytest==7.2.1
pyproject-api==1.6.1
# via
# -r requirements/tox.txt
# tox
pytest==8.1.1
# via
# -r requirements/test.txt
# pytest-cov
pytest-cov==4.0.0
pytest-cov==5.0.0
# via -r requirements/test.txt
python-slugify==8.0.0
python-slugify==8.0.4
# via
# -r requirements/test.txt
# code-annotations
pytz==2022.7.1
# via
# -r requirements/test.txt
# django
pyyaml==6.0
pytz==2024.1
# via -r requirements/test.txt
pyyaml==6.0.1
# via
# -r requirements/test.txt
# code-annotations
six==1.16.0
# via
# -r requirements/test.txt
# -r requirements/tox.txt
# edx-lint
# mock
# tox
sqlparse==0.4.3
sqlparse==0.4.4
# via
# -r requirements/test.txt
# django
stevedore==4.1.1
stevedore==5.2.0
# via
# -r requirements/test.txt
# code-annotations
Expand All @@ -184,26 +195,22 @@ tomli==2.0.1
# -r requirements/tox.txt
# coverage
# pylint
# pyproject-api
# pytest
# tox
tomlkit==0.11.6
tomlkit==0.12.4
# via
# -r requirements/test.txt
# pylint
tox==3.28.0
# via
# -c requirements/common_constraints.txt
# -r requirements/tox.txt
typing-extensions==4.4.0
tox==4.14.2
# via -r requirements/tox.txt
typing-extensions==4.10.0
# via
# -r requirements/test.txt
# asgiref
# astroid
# pylint
virtualenv==20.19.0
virtualenv==20.25.1
# via
# -r requirements/tox.txt
# tox
wrapt==1.14.1
# via
# -r requirements/test.txt
# astroid
19 changes: 14 additions & 5 deletions requirements/common_constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@
# See BOM-2721 for more details.
# Below is the copied and edited version of common_constraints

# 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.
#
Expand All @@ -18,15 +23,19 @@


# using LTS django version
Django<4.0
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

# 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
# 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
6 changes: 6 additions & 0 deletions requirements/constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,9 @@

# mock version 4.0.0 drops support for python 3.5
mock<4.0.0

# temporary constraint
backports.zoneinfo;python_version<"3.9"

# greater version has issues.
lxml==4.9.3
Loading

0 comments on commit 716d6d8

Please sign in to comment.