-
Notifications
You must be signed in to change notification settings - Fork 191
/
tox.ini
161 lines (147 loc) · 3.32 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
154
155
156
157
158
159
160
161
[tox]
envlist =
black
blacken
docs
isort
isort_format
ruff
pypi-description
towncrier
py{311,310,39}-django{42,41}-cms{311}
py{311,310,39}-django{32}-cms{39}
[testenv]
commands = {env:COMMAND:python} cms_helper.py djangocms_blog test {posargs}
deps =
django32: Django~=3.2.0
django32: django-mptt>=0.9
django32: django-filer>=2.0
django32: django-appdata>=0.3.2
django41: Django~=4.1.0
django41: django-mptt>=0.9
django41: django-filer>=2.0
django41: django-appdata>=0.3.2
django42: Django~=4.2.0
django42: django-mptt>=0.9
django42: django-filer>=2.0
django42: django-appdata>=0.3.2
cms39: https://github.com/django-cms/django-cms/archive/release/3.9.x.zip
cms311: https://github.com/yakky/django-cms/archive/release/3.11.x.zip
channels[daphne]~=4.0.0
django-knocker~=0.5.1
channels-redis
-r{toxinidir}/requirements-test.txt
passenv =
COMMAND
PYTEST_*
[testenv:ruff]
commands =
{envpython} -m ruff check djangocms_blog tests {posargs}
{envpython} -minterrogate -c pyproject.toml djangocms_blog tests
deps =
interrogate
ruff
skip_install = true
[testenv:isort]
commands =
{envpython} -m isort -c --df djangocms_blog tests
deps = isort>=5.12.0,<5.13.0
skip_install = true
[testenv:isort_format]
commands =
{envpython} -m isort djangocms_blog tests
deps = {[testenv:isort]deps}
skip_install = true
[testenv:black]
commands =
{envpython} -m black --check --diff .
deps = black
skip_install = true
[testenv:blacken]
commands =
{envpython} -m black .
deps = {[testenv:black]deps}
skip_install = true
[testenv:docs]
commands =
{envpython} -m invoke docbuild
deps =
invoke
sphinx
sphinx-rtd-theme
sphinx-autobuild
livereload~=2.6
-rrequirements-test.txt
skip_install = true
[testenv:towncrier]
commands =
{envpython} -m invoke towncrier-check
deps =
invoke
skip_install = true
[testenv:pypi-description]
commands =
{envpython} -m invoke clean
{envpython} -m check_manifest
{envpython} -m build .
{envpython} -m twine check dist/*
deps =
invoke
check-manifest
build
twine
skip_install = true
[testenv:release]
commands =
{envpython} -m invoke clean
{envpython} -m check_manifest
{envpython} -m build .
{envpython} -m twine upload {posargs} dist/*
deps = {[testenv:pypi-description]deps}
passenv =
TWINE_*
skip_install = true
[flake8]
exclude = *.egg-info,.git,.settings,.tox,build,dist,docs,requirements,tmp,*migrations*,tests,data
ignore = E800, W503, C812, C813, C815, C818, C819, C408
max-line-length = 119
# flake8-quotes
inline-quotes = double
# flake8-coding
no-accept-encodings = True
# flake8-tidy-imports
banned-modules = __future__ = this project supports python3 only
[isort]
combine_as_imports = true
default_section = THIRDPARTY
force_grid_wrap = 0
include_trailing_comma = true
known_first_party = djangocms_blog
line_length = 119
multi_line_output = 3
skip = data, .tox
use_parentheses = True
[check-manifest]
ignore =
.*
*.ini
*.toml
*.json
*.txt
*.yml
*.yaml
.tx/**
changes/**
docs/**
cms_helper.py
aldryn_config.py
tasks.py
tests/**
*.mo
ignore-bad-ideas =
*.mo
[pytest]
DJANGO_SETTINGS_MODULE = cms_helper
python_files = test_*.py
traceback = short
addopts = --reuse-db