-
Notifications
You must be signed in to change notification settings - Fork 22
/
tox.ini
75 lines (64 loc) · 2.42 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
[tox]
isolated_build = true
envlist = rye, format, lint, test, doc, build
rye_discovery = true
uv_seed = true
set_env =
PATH = {env:HOME}/.rye/py/cpython@3.12.3/bin:{env:HOME}/.rye/py/cpython@3.10.14/bin:{env:HOME}/.rye/py/cpython@3.9.19/bin:{env:HOME}/.rye/py/cpython@3.8.19/bin:{env:HOME}/.rye/py/cpython@3.11.9/bin:{env:HOME}/.rye/py/cpython@3.9.18/bin:{env:PATH}
[testenv:rye]
allowlist_externals = rye
commands =
rye run python --version
[testenv:test]
allowlist_externals = rye, cargo, rm, maturin, uv, python, echo, pytest
passenv = *
set_env =
LD_LIBRARY_PATH = {env:HOME}/.rye/py/cpython@3.12.3/lib:{env:HOME}/.rye/py/cpython@3.10.14/lib:{env:HOME}/.rye/py/cpython@3.9.19/lib:{env:HOME}/.rye/py/cpython@3.8.19/lib:{env:HOME}/.rye/py/cpython@3.11.9/lib:{env:HOME}/.rye/py/cpython@3.9.18/lib:$LD_LIBRARY_PATH
RUSTFLAGS = -L {env:HOME}/.rye/py/cpython@3.12.3/lib -L {env:HOME}/.rye/py/cpython@3.10.14/lib -L {env:HOME}/.rye/py/cpython@3.9.19/lib -L {env:HOME}/.rye/py/cpython@3.8.19/lib -L {env:HOME}/.rye/py/cpython@3.11.9/lib -L {env:HOME}/.rye/py/cpython@3.9.18/lib
commands =
rm -rf .reports
python --version
uv pip install -r requirements-dev.lock
maturin develop -r
cargo test
cargo llvm-cov
cargo llvm-cov report --html --output-dir .reports/rust
cargo bench
# - prefix to ignore errors
- pytest {tty:--color=yes} --benchmark-only --benchmark-autosave
pytest {tty:--color=yes}
[testenv:format]
allowlist_externals = rye, cargo
env_list = py10, py11, py12
commands =
cargo fmt
cargo clippy --fix --allow-dirty
rye sync
rye run ruff format py_src/fusion py_tests
rye run ruff check --fix py_src/fusion py_tests
[testenv:lint]
allowlist_externals = rye, cargo
set_env =
{tty:MYPY_FORCE_COLOR = 1}
commands =
cargo clippy
rye sync
rye run ruff check py_src/fusion py_tests
rye run mypy --disallow-untyped-defs py_src/fusion py_tests
rye run ruff check py_src/fusion py_tests --ignore-noqa --exit-zero
[testenv:doc]
allowlist_externals = rye
commands_pre = rye sync --all-features
commands =
rye run mike deploy vtest -m "test doc build" --ignore
rye run mike delete vtest -m "remove doc build" --ignore
[testenv:build]
allowlist_externals = rye
commands =
rye sync
rye build
rye run twine check dist/*
[testenv:clean]
allowlist_externals = rm # for cleanup
commands =
rm -rf {toxinidir}/dist {toxinidir}/target {toxinidir}/downloads