From a8a2e55b7fa66a36361c394b9443261e2e49f6e5 Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Fri, 23 Feb 2024 04:26:42 -0500 Subject: [PATCH] feat: add python311 support --- .github/workflows/ci.yml | 11 +++++--- tox.ini | 58 +++++++++++++--------------------------- 2 files changed, 26 insertions(+), 43 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0d37bc15..3ec6e4f0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,11 +11,14 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.8"] - django-version: ["pinned", "4.2"] + python-version: + - "3.8" + - '3.11' + django-version: + - "4.2" steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 + - uses: actions/checkout@v4 + - uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} architecture: x64 diff --git a/tox.ini b/tox.ini index fd5c2203..7308f994 100644 --- a/tox.ini +++ b/tox.ini @@ -1,62 +1,42 @@ [tox] -envlist = py38-django{42}, quality, docs, pii_check +envlist = py{38, 311}-django{42}, quality, docs, pii_check skipsdist = true [doc8] -; D001 = Line too long -ignore=D001 +ignore = D001 [pycodestyle] exclude = .git,.tox,migrations max-line-length = 120 -; E266 = too many leading '#' for block comment -; W504 = line break after binary operator ignore = E266,W504 [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 = enterprise_access.settings.test +django_settings_module = enterprise_access.settings.test addopts = --cov enterprise_access --cov-report term-missing --cov-report xml norecursedirs = .* docs requirements site-packages [testenv] -deps = - django42: Django>=4.2,<5.0 +deps = + django42: Django>=4.2,<4.3 -r{toxinidir}/requirements/test.txt -commands = +commands = pytest {posargs} [testenv:docs] -setenv = +setenv = DJANGO_SETTINGS_MODULE = enterprise_access.settings.test PYTHONPATH = {toxinidir} - # Adding the option here instead of as a default in the docs Makefile because that Makefile is generated by shpinx. SPHINXOPTS = -W -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/enterprise_access.rst rm -f docs/modules.rst @@ -64,19 +44,19 @@ commands = make -e -C docs html [testenv:translations] -allowlist_externals = +allowlist_externals = make -deps = +deps = -r{toxinidir}/requirements/dev.txt -commands = +commands = make validate_translations [testenv:quality] -allowlist_externals = +allowlist_externals = make -deps = +deps = -r{toxinidir}/requirements/quality.txt -commands = +commands = pylint enterprise_access test_utils manage.py pycodestyle enterprise_access manage.py pydocstyle enterprise_access manage.py @@ -84,9 +64,9 @@ commands = make selfcheck [testenv:pii_check] -setenv = +setenv = DJANGO_SETTINGS_MODULE = enterprise_access.settings.test -deps = +deps = -r{toxinidir}/requirements/test.txt -commands = +commands = code_annotations django_find_annotations --config_file .pii_annotations.yml --lint --report --coverage