django-components/tox.ini
2025-10-22 00:35:34 +02:00

98 lines
2.2 KiB
INI

# This library strives to support all officially supported combinations of Python and Django:
# https://docs.djangoproject.com/en/5.2/faq/install/#what-python-version-can-i-use-with-django
# https://devguide.python.org/versions/#versions
[tox]
envlist =
py{38,39}-django42
py{310,311,312}-django{42,51,52}
py{313}-django{51,52}
py{314}-django{52}
ruff
coverage
mypy
[gh-actions]
python =
3.8: py38-django42
3.9: py39-django42
3.10: py310-django{42,51,52}
3.11: py311-django{42,51,52}
3.12: py312-django{42,51,52}
3.13: py313-django{51,52}
3.14: py314-django{52}, ruff, coverage, mypy
isolated_build = true
[testenv]
package = wheel
wheel_build_env = .pkg
deps =
django42: Django>=4.2,<4.3
django51: Django>=5.1,<5.2
django52: Django>=5.2,<5.3
djc-core-html-parser==1.0.3
pytest
pytest-xdist
pytest-django
pytest-asyncio
syrupy # pytest snapshot testing
# NOTE: Keep playwright is sync with the version in requirements-ci.txt
# Othrwise we get error:
# playwright._impl._errors.Error: BrowserType.launch: Executable doesn't exist at /home/runner/.cache/ms-playwright/chromium-1140/chrome-linux/chrome
!py38: playwright==1.55.0
# For py38 run specific old version
py38: playwright==1.48.0
pydantic
requests
types-requests
whitenoise
# NOTE: Delete when Django 5.2 reaches end of life
django-template-partials
commands = pytest {posargs}
# TODO: Delete this when Django 4.2 reaches end of life
[testenv:py38-django42]
deps =
django42: Django>=4.2,<4.3
django51: Django>=5.1,<5.2
django52: Django>=5.2,<5.3
djc-core-html-parser==1.0.3
pytest
pytest-xdist
pytest-django
pytest-asyncio
syrupy # pytest snapshot testing
playwright==1.48.0
pydantic
requests
types-requests
whitenoise
django-template-partials
[testenv:ruff]
deps = ruff
commands =
ruff check .
ruff format --check .
[testenv:coverage]
deps =
pytest-cov
pytest-django
pytest-asyncio
syrupy # snapshot testing
# NOTE: Keep playwright in sync with the version in requirements-ci.txt
playwright==1.55.0
pydantic
requests
types-requests
whitenoise
commands =
pytest --cov=django_components --cov-fail-under=87 --cov-branch
[testenv:mypy]
deps =
mypy
types-requests
commands = mypy .