-
Notifications
You must be signed in to change notification settings - Fork 50
/
Copy pathtox.ini
95 lines (87 loc) · 2.2 KB
/
tox.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
[tox]
requires =
tox>=4.2
tox-gh-actions
tox-uv>=1.20.2
env_list =
lint
pkg_meta
d{52, 42, 32}-py{313}-{pg, mysql}
skip_missing_interpreters = true
[testenv]
deps =
pypy-pg: psycopg2cffi
d32: django==3.2.*
d32: django-reversion==3.*
d42: django==4.2.*
d42: django-reversion==4.*
d52: django==5.2.*
d52: django-reversion==5.*
mysql: mysqlclient
pass_env =
PGHOST
PGPORT
PYTHONDONTWRITEBYTECODE
set_env =
DBNAME = concurrency
PYTHONPATH =
PYTHONPATH = ./src/:tests/demoapp
mysql: DBENGINE = mysql
pg: DBENGINE = pg
sqlite: DBENGINE = sqlite
change_dir = {toxinidir}
commands =
{posargs:pytest tests -rw --create-db}
dependency_groups = dev
whitelist_externals =
mkdir
/usr/local/bin/psql
/bin/sh
/usr/local/bin/mysql
/usr/local/mysql/bin/mysql
/usr/bin/psql
[testenv:lint]
description = run static analysis and style check using ruff
skip_install = true
deps =
pre-commit-uv>=4.1.1
pass_env =
HOMEPATH
PROGRAMDATA
commands =
pre-commit run --all-files --show-diff-on-failure
[testenv:pkg_meta]
description = check that the long description is valid
skip_install = true
deps =
check-wheel-contents>=0.6
twine>=5.1.1
uv>=0.5
commands =
uv build --sdist --wheel --out-dir {env_tmp_dir} .
twine check {env_tmp_dir}{/}*
check-wheel-contents --no-config {env_tmp_dir}
[testenv:mysql]
commands =
- mysql -u root -h 127.0.0.1 -e 'DROP DATABASE IF EXISTS concurrency;'
- mysql -u root -h 127.0.0.1 -e 'CREATE DATABASE IF NOT EXISTS concurrency;'
{[testenv]commands}
[testenv:pg]
commands =
- psql -h $PGHOST -p $PGPORT -c 'DROP DATABASE "concurrency";' -U postgres
- psql -h $PGHOST -p $PGPORT -c 'CREATE DATABASE "concurrency";' -U postgres
{[testenv]commands}
[testenv:clean]
commands =
mysql: - mysql -u root -e 'DROP DATABASE IF EXISTS concurrency;'
pg: - psql -c 'DROP DATABASE "concurrency";' -U postgres
[testenv:docs]
skip_install = false
commands =
mkdocs build -d ./~build/docs
dependency_groups = docs, type-check, dj
[testenv:type]
description = run type check on code base
commands =
mypy --strict src/
dependency_groups = type-check, dev