forked from h5py/h5py
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tox.ini
111 lines (98 loc) · 2.76 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
[tox]
# We want an envlist like
# envlist = {py36,py37,pypy3}-{test}-{deps,mindeps}-{,mpi4py}-{,pre},nightly,docs,checkreadme,pre-commit
# but we want to skip mpi and pre by default, so this envlist is below
envlist = {py38,py39,py310,py311,py312,pypy3}-{test}-{deps,mindeps},nightly,docs,apidocs,checkreadme,pre-commit,rever
isolated_build = True
[testenv]
deps =
test: pytest
test: pytest-cov
test: pytest-mpi>=0.2
py38-deps: numpy>=1.17.5
py39-deps: numpy>=1.19.3
py310-deps: numpy>=1.21.3
py311-deps: numpy>=1.23.2
py312-deps: numpy>=1.26.0
mindeps: oldest-supported-numpy
mpi4py: mpi4py>=3.1.1
tables-deps: tables>=3.4.4
tables-mindeps: tables==3.4.4
# see pytest.ini for additional common options to pytest
commands =
test: python -c "import sys; print('64 bit?', sys.maxsize > 2**32)"
test: python {toxinidir}/ci/fix_paths.py
test: python -c "from h5py.version import info; print(info)"
test-!mpi4py: python -m pytest --pyargs h5py --cov=h5py -rxXs --cov-config={toxinidir}/.coveragerc {posargs}
test-mpi4py: mpirun -n {env:MPI_N_PROCS:2} {envpython} -m pytest --pyargs h5py -rxXs --with-mpi {posargs}
changedir =
test: {toxworkdir}
passenv =
H5PY_SYSTEM_LZF
H5PY_TEST_CHECK_FILTERS
HDF5_DIR
HDF5_VERSION
HDF5_INCLUDEDIR
HDF5_LIBDIR
HDF5_PKGCONFIG_NAME
HDF5_MPI
MPI_N_PROCS
OMPI_* # used to configure OpenMPI
CC
ZLIB_ROOT
allowlist_externals =
mpirun
setenv =
COVERAGE_FILE={toxinidir}/.coverage_dir/coverage-{envname}
# needed otherwise coverage cannot find the file when reporting
pip_pre =
pre: True
[testenv:nightly]
pip_pre = True
basepython = python3.8
[testenv:docs]
skip_install=True
# Work around https://github.com/tox-dev/tox/issues/2442
package_env = DUMMY NON-EXISTENT ENV NAME
changedir=docs
deps=
-r docs/requirements-rtd.txt
commands=
sphinx-build -W -b html -d {envtmpdir}/doctrees . {envtmpdir}/html
[testenv:apidocs]
changedir=docs_api
deps=
sphinx
commands=
sphinx-build -W -b html -d {envtmpdir}/doctrees . _build/html
[testenv:checkreadme]
skip_install=True
# Work around https://github.com/tox-dev/tox/issues/2442
package_env = DUMMY NON-EXISTENT ENV NAME
deps=
build
twine
commands=
python -m build --sdist
twine check --strict dist/*
[testenv:pre-commit]
skip_install=True
# Work around https://github.com/tox-dev/tox/issues/2442
package_env = DUMMY NON-EXISTENT ENV NAME
deps=pre-commit
passenv =
HOMEPATH
SSH_AUTH_SOCK
commands=
pre-commit run --all-files
[testenv:rever]
skip_install=True
# Work around https://github.com/tox-dev/tox/issues/2442
package_env = DUMMY NON-EXISTENT ENV NAME
deps=
re-ver
xonsh
lazyasd
ruamel.yaml
commands=
rever check --activities version_bump,changelog