-
Notifications
You must be signed in to change notification settings - Fork 0
/
tox.ini
153 lines (137 loc) · 2.84 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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
[tox]
envlist =
cleanup,
py{39,310,311,312}-dj{32,40,41,42,50}-laboratory{10}
[gh-actions]
# See https://pypi.org/project/tox-gh-actions/
python =
3.8: py38
3.9: py39
3.10: py310
3.11: py311
3.12: py312
[testenv]
description = run the test suite
usedevelop = true
passenv=
CI
COVERAGE_ARGS
GITHUB_*
setenv =
PYTHONDONTWRITEBYTECODE=1
PYTHONWARNINGS=once
PYTHONPATH={toxinidir}/demo
DB_NAME = {env:DB_NAME:studies}
DB_USER = {env:DB_USER:studies}
DB_HOST = {env:DB_HOST:localhost}
DB_PASSWORD = {env:DB_PASSWORD:studies}
deps =
dj32: Django>=3.1,<3.2
dj40: Django>=4.0,<4.1
dj41: Django>=4.1,<4.2
dj42: Django>=4.2,<4.3
dj50: Django>=5.0,<5.1
laboratory10: laboratory>=1.0,<1.1
allowlist_externals =
/bin/coverage
commands =
coverage run -m pytest {posargs}
extras =
test
[testenv:cleanup]
description = remove coverage files
deps =
coverage
commands =
coverage erase
[testenv:coverage]
description = combine coverage files and generate the report
deps =
coverage
commands =
coverage combine
coverage report {posargs}
[testenv:lint]
description = run the linters
extras =
lint
commands =
flake8
isort . --check
black --check .
[testenv:changelog]
description = build the changelog
basepython = python3
deps =
towncrier
skip_install = true
commands =
python -V
towncrier {posargs}
[testenv:manifest]
basepython = python3
deps = check-manifest
skip_install = true
commands = check-manifest
[testenv:release]
description = build the changelog, bump the package version, commit and tag
basepython=python3
skip_install = true
allowlist_externals =
git
tox
passenv =
HOME
deps =
bump2version
commands_pre =
tox -e changelog -- --yes
git commit -m "Build changelog"
bump2version {posargs:minor}
commands =
git push origin
git push origin --tags
[testenv:serve]
description = run the development server
usedevelop = true
changedir = {toxinidir}/demo
setenv =
DJANGO_SETTINGS_MODULE=demo.settings
DJANGO_CONFIGURATION=Demo
extras =
dev
commands =
python manage.py runserver {posargs}
[testenv:build]
description = build the package
basepython = python3
isolated_build = True
skip_install = true
setenv =
PYTHONPATH = {toxinidir}
requires =
setuptools>=42.0.2
wheel>=0.33.6
deps =
build>=0.8.0
twine>=3.1.1
commands =
python -m build --sdist --wheel --outdir dist/ .
commands_post =
twine check dist/*
[testenv:deploy]
description = build the package and deploy it to PyPI.org
basepython = python3
isolated_build = True
skip_install = true
setenv =
PYTHONPATH = {toxinidir}
requires =
setuptools>=42.0.2
wheel>=0.33.6
deps =
twine>=3.1.1
commands_pre =
tox -e build
commands =
twine upload {posargs} --repository django-studies --skip-existing dist/*