Skip to content

Commit

Permalink
feat: add python312 support
Browse files Browse the repository at this point in the history
  • Loading branch information
UsamaSadiq committed Mar 6, 2024
1 parent c59603f commit 238fa1f
Show file tree
Hide file tree
Showing 10 changed files with 28 additions and 25 deletions.
9 changes: 5 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,17 @@ jobs:
run_tests:
name: tests
runs-on: ${{ matrix.os }}
continue-on-error: true
strategy:
matrix:
os: [ubuntu-20.04]
python-version: ['3.8']
toxenv: [docs, quality, django32, django42]
python-version: ['3.8', '3.12']
toxenv: [docs, quality, django42]

steps:
- uses: actions/checkout@v4
- name: setup python
uses: actions/setup-python@v5
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

Expand All @@ -37,7 +38,7 @@ jobs:
run: tox

- name: Run coverage
if: matrix.python-version == '3.8' && matrix.toxenv == 'django42'
if: matrix.python-version == '3.12' && matrix.toxenv == 'django42'
uses: codecov/codecov-action@v3
with:
flags: unittests
Expand Down
6 changes: 4 additions & 2 deletions requirements/base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,10 @@
#
asgiref==3.7.2
# via django
backports-zoneinfo==0.2.1
# via django
backports-zoneinfo==0.2.1 ; python_version < "3.9"
# via
# -c requirements/constraints.txt
# django
cffi==1.16.0
# via pynacl
click==8.1.7
Expand Down
3 changes: 3 additions & 0 deletions requirements/constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,6 @@ sphinx==4.2.0

# version 1.0.0 requires docutils >0.19 but sphinx@4.2.0 needs docutils<0.18
doc8<1.0.0

# Needed for Django 4.2 + Python 3.12 compatibility
backports.zoneinfo; python_version<"3.9"
5 changes: 3 additions & 2 deletions requirements/dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,9 @@ 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
Expand Down Expand Up @@ -155,7 +156,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 Down
2 changes: 1 addition & 1 deletion requirements/doc.in
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ readme_renderer # Validates README.rst for usage on PyPI
Sphinx # Documentation builder
twine
factory-boy
pytest #Needed?
pytest #Needed?
12 changes: 2 additions & 10 deletions requirements/doc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,9 @@ babel==2.14.0
# via
# pydata-sphinx-theme
# sphinx
backports-zoneinfo==0.2.1
backports-zoneinfo==0.2.1 ; python_version < "3.9"
# via
# -c requirements/constraints.txt
# -r requirements/test.txt
# django
beautifulsoup4==4.12.3
Expand All @@ -27,7 +28,6 @@ certifi==2024.2.2
cffi==1.16.0
# via
# -r requirements/test.txt
# cryptography
# pynacl
charset-normalizer==3.3.2
# via requests
Expand All @@ -37,8 +37,6 @@ coverage[toml]==7.4.3
# via
# -r requirements/test.txt
# pytest-cov
cryptography==42.0.5
# via secretstorage
ddt==1.7.2
# via -r requirements/test.txt
django==4.2.11
Expand Down Expand Up @@ -90,10 +88,6 @@ iniconfig==2.0.0
# pytest
jaraco-classes==3.3.1
# via keyring
jeepney==0.8.0
# via
# keyring
# secretstorage
jinja2==3.1.3
# via sphinx
keyring==24.3.1
Expand Down Expand Up @@ -179,8 +173,6 @@ rfc3986==2.0.0
# via twine
rich==13.7.1
# via twine
secretstorage==3.3.3
# via keyring
six==1.16.0
# via
# -r requirements/test.txt
Expand Down
2 changes: 1 addition & 1 deletion requirements/pip-tools.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ importlib-metadata==7.0.1
# via build
packaging==23.2
# via build
pip-tools==7.4.0
pip-tools==7.4.1
# via -r requirements/pip-tools.in
pyproject-hooks==1.0.0
# via
Expand Down
3 changes: 2 additions & 1 deletion requirements/quality.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@ astroid==3.1.0
# via
# pylint
# pylint-celery
backports-zoneinfo==0.2.1
backports-zoneinfo==0.2.1 ; python_version < "3.9"
# via
# -c requirements/constraints.txt
# -r requirements/test.txt
# django
cffi==1.16.0
Expand Down
3 changes: 2 additions & 1 deletion requirements/test.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@ asgiref==3.7.2
# via
# -r requirements/base.txt
# django
backports-zoneinfo==0.2.1
backports-zoneinfo==0.2.1 ; python_version < "3.9"
# via
# -c requirements/constraints.txt
# -r requirements/base.txt
# django
cffi==1.16.0
Expand Down
8 changes: 5 additions & 3 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[tox]
envlist = py38-django{32, 42}
envlist = py{38, 312}-django{42}, docs, quality

[doc8]
ignore = D000, D001
Expand Down Expand Up @@ -37,7 +37,7 @@ norecursedirs = .* docs requirements

[testenv]
deps =
django32: Django>=3.2,<4.0
setuptools
django42: Django>=4.2,<4.3
-r{toxinidir}/requirements/test.txt
commands =
Expand All @@ -51,6 +51,8 @@ allowlist_externals =
make
rm
deps =
setuptools
wheel
-r{toxinidir}/requirements/doc.txt
commands =
doc8 --ignore-path docs/_build README.rst docs
Expand All @@ -70,6 +72,7 @@ allowlist_externals =
rm
touch
deps =
setuptools
-r{toxinidir}/requirements/quality.txt
commands =
touch tests/__init__.py
Expand All @@ -87,4 +90,3 @@ deps =
-r{toxinidir}/requirements/quality.txt
commands =
isort tests test_utils edx_django_utils manage.py setup.py test_settings.py

0 comments on commit 238fa1f

Please sign in to comment.