-
Notifications
You must be signed in to change notification settings - Fork 568
Expand file tree
/
Copy pathtox.ini
More file actions
100 lines (92 loc) · 2.86 KB
/
Copy pathtox.ini
File metadata and controls
100 lines (92 loc) · 2.86 KB
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
[tox]
# We want an envlist like
# envlist = {py36,py37,pypy3}-{test}-{deps,mindeps}-{,mpi}-{,pre},nightly,docs,checkreadme,pre-commit
# but we want to skip mpi and pre by default, so this envlist is below
envlist = py{311,312,313,313t,314,314t,315,315t,py3}-{test}-{deps,mindeps},nightly,py3{14,15}t-test-concurrency,docs,apidocs,checkreadme,pre-commit
isolated_build = True
minversion = 4.22.0 # for dependency_groups
# tox-uv is required for `mindeps` and `pre` factors, however, we allow for it
# to be missing because of a puzzling build error that only happens when tox-uv
# is present, specifically on Azure CI (Windows), where we don't need `mindeps` or `pre`.
#requires =
# tox-uv >= 1.27.0
[testenv]
dependency_groups =
test: test
tables: tables
mpi: mpi
concurrency: concurrency
# 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: python -c "from h5py import filters; print('Included filters:', filters.encode, filters.decode)"
test-!mpi: python -m pytest --pyargs h5py --cov=h5py -rxXs --cov-config={toxinidir}/.coveragerc {posargs}
test-mpi: mpirun --use-hwthread-cpus -n {env:MPI_N_PROCS:2} {envpython} -m pytest --pyargs h5py -rxXs --with-mpi {posargs}
test-concurrency: python -m pytest --pyargs h5py -rxXs --parallel-threads 4 {posargs}
changedir =
test: {toxworkdir}
passenv =
H5PY_LIMITED_API
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
CIBUILDWHEEL
allowlist_externals =
mpirun
setenv =
COVERAGE_FILE={toxinidir}/.coverage_dir/coverage-{envname} # needed otherwise coverage cannot find the file when reporting
uv_resolution =
mindeps: lowest-direct
!mindeps: highest
pip_pre =
pre: True
!pre-py315{,t}: True # TODO: remove this line once numpy has cp315 wheels on PyPI
[testenv:nightly]
pip_pre = True
basepython = python3.11
[testenv:docs]
skip_install=True
changedir=docs
deps=
-r docs/requirements-rtd.txt
commands=
sphinx-build -W -b html -d {envtmpdir}/doctrees . {envtmpdir}/html
[testenv:apidocs]
changedir=docs_api
dependency_groups =
docs
commands=
sphinx-build -W -b html -d {envtmpdir}/doctrees . _build/html
[testenv:checkreadme]
skip_install=True
dependency_groups =
check-readme
commands=
python -m build --sdist
twine check --strict dist/*
[testenv:checkmanifest]
skip_install=True
dependency_groups=
check-manifest
commands=
check-manifest -v
[testenv:pre-commit]
skip_install=True
dependency_groups =
lint
passenv =
HOMEPATH
SSH_AUTH_SOCK
commands=
pre-commit run --all-files