[tox] skipsdist = True usedevelop = True envlist = py{38,39,310,311,312}-dj{32,41,42,42stable,main}-{sqlite,postgres,mysql,mssql}-{elasticsearch8,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 elasticsearch8: coverage run runtests.py wagtail.search wagtail.documents wagtail.images --elasticsearch8 noelasticsearch: coverage run runtests.py {posargs} basepython = py38: python3.8 py39: python3.9 py310: python3.10 py311: python3.11 py312: python3.12 deps = django-sendfile==0.3.6 Embedly dj32: Django~=3.2.0 dj41: Django~=4.1.0 dj42: Django~=4.2.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 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!