[tox] skipsdist = True usedevelop = True envlist = py{37,38,39,310,311}-dj{32,40,41,42stable,main}-{sqlite,postgres,mysql,mssql}-{elasticsearch7,elasticsearch6,elasticsearch5,noelasticsearch}-{customuser,emailuser}-{tz,notz}, [testenv] install_command = pip install -e ".[testing]" -U {opts} {packages} commands = elasticsearch5: coverage run runtests.py wagtail.search wagtail.documents wagtail.images --elasticsearch5 elasticsearch6: coverage run runtests.py wagtail.search wagtail.documents wagtail.images --elasticsearch6 elasticsearch7: coverage run runtests.py wagtail.search wagtail.documents wagtail.images --elasticsearch7 noelasticsearch: coverage run runtests.py {posargs} basepython = py37: python3.7 py38: python3.8 py39: python3.9 py310: python3.10 py311: python3.11 deps = django-sendfile==0.3.6 Embedly dj32: Django~=3.2.0 dj40: Django~=4.0.0 dj41: Django~=4.1.0 dj42stable: git+https://github.com/django/django.git@stable/4.2.x#egg=Django djmain: git+https://github.com/django/django.git@main#egg=Django postgres: psycopg2>=2.6 mysql: mysqlclient>=1.4,<2 elasticsearch5: elasticsearch>=5,<6 elasticsearch5: certifi elasticsearch6: elasticsearch>=6.4.0,<7 elasticsearch6: certifi elasticsearch7: elasticsearch>=7,<8 elasticsearch7: certifi setenv = postgres: DATABASE_ENGINE=django.db.backends.postgresql mysql: DATABASE_ENGINE=django.db.backends.mysql mysql: DATABASE_HOST=localhost mysql: DATABASE_USER=root sqlite: DATABASE_NAME=wagtail.db emailuser: USE_EMAIL_USER_MODEL=yes notz: DISABLE_TIMEZONE=yes # Specific for Appveyor, see: # https://www.appveyor.com/docs/services-databases/#sql-server-2016 mssql: DATABASE_ENGINE=sql_server.pyodbc mssql: DATABASE_HOST=(local)\SQL2016 mssql: DATABASE_NAME=master mssql: DATABASE_USER=sa mssql: DATABASE_PASSWORD=Password12! [testenv:flake8] basepython=python3.7 deps=flake8>=3.6.0 commands=flake8