From b29dc557f77ad56330ee72bada5464cf05563ebd Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Thu, 22 Feb 2024 13:14:22 -0500 Subject: [PATCH] feat: add python 3.12 support --- .github/workflows/ci.yml | 24 +++++++++--------- tox.ini | 54 ++++++++++++++-------------------------- 2 files changed, 30 insertions(+), 48 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bea400c..c07f676 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,16 +10,16 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - tox-env: [django32, quality] + tox-env: [quality, django42] steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 - with: - python-version: '3.8' - architecture: x64 - - name: Install requirements - run: pip install -r requirements/ci.txt - - name: Run tox - env: - TOXENV: ${{ matrix.tox-env }} - run: tox + - uses: actions/checkout@v4 + - uses: actions/setup-python@v4 + with: + python-version: '3.8' + architecture: x64 + - name: Install requirements + run: pip install -r requirements/ci.txt + - name: Run tox + env: + TOXENV: ${{ matrix.tox-env }} + run: tox diff --git a/tox.ini b/tox.ini index b418095..ad1e98d 100644 --- a/tox.ini +++ b/tox.ini @@ -1,8 +1,7 @@ [tox] -envlist = py38-django{32,40}, quality +envlist = py{38, 312}-django{42}, quality [doc8] -; D001 = Line too long ignore = D001 [pycodestyle] @@ -10,48 +9,31 @@ exclude = .git,.tox,migrations max-line-length = 120 [pydocstyle] -; D101 = Missing docstring in public class -; D200 = One-line docstring should fit on one line with quotes -; D203 = 1 blank line required before class docstring -; D212 = Multi-line docstring summary should start at the first line -; D215 = Section underline is over-indented (numpy style) -; D404 = First word of the docstring should not be This (numpy style) -; D405 = Section name should be properly capitalized (numpy style) -; D406 = Section name should end with a newline (numpy style) -; D407 = Missing dashed underline after section (numpy style) -; D408 = Section underline should be in the line following the section's name (numpy style) -; D409 = Section underline should match the length of its name (numpy style) -; D410 = Missing blank line after section (numpy style) -; D411 = Missing blank line before section (numpy style) -; D412 = No blank lines allowed between a section header and its content (numpy style) -; D413 = Missing blank line after last section (numpy style) -; D414 = Section has no content (numpy style) ignore = D101,D200,D203,D212,D215,D404,D405,D406,D407,D408,D409,D410,D411,D412,D413,D414 match-dir = (?!migrations) [pytest] -DJANGO_SETTINGS_MODULE = test_settings +django_settings_module = test_settings addopts = --cov edx_arch_experiments --cov-report term-missing --cov-report xml norecursedirs = .* requirements site-packages [testenv] -deps = - django32: Django>=3.2,<4.0 - django40: Django>=4.0,<4.1 +deps = + django42: Django>=4.2,<4.3 -r{toxinidir}/requirements/test.txt -commands = +commands = pytest {posargs} [testenv:docs] -setenv = +setenv = DJANGO_SETTINGS_MODULE = test_settings PYTHONPATH = {toxinidir} -allowlist_externals = +allowlist_externals = make rm -deps = +deps = -r{toxinidir}/requirements/doc.txt -commands = +commands = doc8 --ignore-path docs/_build README.rst docs rm -f docs/openedx_events.rst rm -f docs/modules.rst @@ -60,13 +42,13 @@ commands = python setup.py check --restructuredtext --strict [testenv:quality] -allowlist_externals = +allowlist_externals = make rm touch -deps = +deps = -r{toxinidir}/requirements/quality.txt -commands = +commands = pylint edx_arch_experiments manage.py setup.py pycodestyle edx_arch_experiments manage.py setup.py pydocstyle edx_arch_experiments manage.py setup.py @@ -74,19 +56,19 @@ commands = make selfcheck [testenv:pii_check] -setenv = +setenv = DJANGO_SETTINGS_MODULE = test_settings -deps = +deps = -r{toxinidir}/requirements/test.txt -commands = +commands = code_annotations django_find_annotations --config_file .pii_annotations.yml --lint --report --coverage [testenv:scripts] -setenv = +setenv = DJANGO_SETTINGS_MODULE = edx_arch_experiments.settings.scripts PYTHONPATH = {toxinidir} -deps = +deps = -r{toxinidir}/requirements/scripts.txt -commands = +commands = {posargs}