forked from beeware/toga
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tox.ini
80 lines (74 loc) · 2.35 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
# The leading comma generates the "py-..." environments.
[testenv:py{,38,39,310,311,312}-{android,cocoa,core,gtk,iOS,web,winforms}]
skip_install = True
setenv =
android: subdir = android
cocoa: subdir = cocoa
core: subdir = core
gtk: subdir = gtk
iOS: subdir = iOS
web: subdir = web
winforms: subdir = winforms
core: TOGA_BACKEND = toga_dummy
!core: TOGA_BACKEND = toga_{env:subdir}
gtk: test_command_prefix = xvfb-run -a -s "-screen 0 2048x1536x24"
changedir = {env:subdir}
allowlist_externals =
bash
gtk: xvfb-run
commands =
# TOGA_INSTALL_COMMAND is set to a bash command by the CI workflow.
{env:TOGA_INSTALL_COMMAND:python -m pip install ../core[dev] ../dummy .}
{env:test_command_prefix:} coverage run -m pytest -vv {posargs}
coverage combine
coverage report --rcfile ../pyproject.toml
[testenv:towncrier-check]
skip_install = True
deps =
{[testenv:towncrier]deps}
commands =
python -m towncrier.check --compare-with origin/main
[testenv:towncrier]
skip_install = True
deps =
towncrier ~= 22.8
./core
commands =
towncrier {posargs}
[docs]
build_dir = _build
# -W: make warnings into errors
# --keep-going: continue on errors
# -j: run with multiple processes
sphinx_args = -W --keep-going -j auto
# -v: verbose logging
# -E: force rebuild of environment
# -T: print traceback on error
# -a: read/parse all files
# -d: use tox's temp dir for caching
sphinx_args_extra = {[docs]sphinx_args} -v -E -T -a -d {envtmpdir}/doctrees
[testenv:docs{,-lint,-all}]
skip_install = True
change_dir = docs
deps =
./core[docs]
passenv =
# On macOS M1, you need to manually set the location of the PyEnchant
# library:
# export PYENCHANT_LIBRARY_PATH=/opt/homebrew/lib/libenchant-2.2.dylib
PYENCHANT_LIBRARY_PATH
commands =
!lint-!all : python -m sphinx {[docs]sphinx_args} -b html . {[docs]build_dir}/html
lint : python -m sphinx {[docs]sphinx_args_extra} -b spelling . {[docs]build_dir}/spell
lint : python -m sphinx {[docs]sphinx_args_extra} -b linkcheck . {[docs]build_dir}/links
all : python -m sphinx {[docs]sphinx_args_extra} -b html . {[docs]build_dir}/html
[testenv:package]
skip_install = True
deps =
check_manifest==0.48
build==0.9.0
twine==4.0.2
commands =
check-manifest -v {posargs}
python -m build {posargs}
python -m twine check {posargs}/dist/*