[tox] skipsdist = True usedevelop = True envlist = py{39,310,311,312}-dj{42,50,51,51stable,main}-{sqlite,postgres,mysql,mssql}-{elasticsearch8,elasticsearch7,noelasticsearch}-{customuser,emailuser}-{tz,notz}, [testenv] install_command = pip install -e ".[testing]" -U {opts} {packages} commands = elasticsearch7: coverage run runtests.py wagtail.search wagtail.documents wagtail.images --elasticsearch7 elasticsearch8: coverage run runtests.py wagtail.search wagtail.documents wagtail.images --elasticsearch8 noelasticsearch: coverage run runtests.py {posargs} basepython = py39: python3.9 py310: python3.10 py311: python3.11 py312: python3.12 deps = django-sendfile==0.3.6 Embedly dj42: Django~=4.2.0 dj50: Django~=5.0.0 dj51: Django~=5.1.0 dj51stable: git+https://github.com/django/django.git@stable/5.1.x#egg=Django djmain: git+https://github.com/django/django.git@main#egg=Django postgres: psycopg2>=2.6 mysql: mysqlclient>=1.4,<2 elasticsearch7: elasticsearch>=7,<8 elasticsearch7: certifi elasticsearch8: elasticsearch>=8,<9 elasticsearch8: 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!