1[tox] 2# We want an envlist like 3# envlist = {py36,py37,pypy3}-{test}-{deps,mindeps}-{,mpi4py}-{,pre},nightly,docs,checkreadme,pre-commit 4# but we want to skip mpi and pre by default, so this envlist is below 5envlist = {py37,py38,py39,py310,pypy3}-{test}-{deps,mindeps},nightly,docs,apidocs,checkreadme,pre-commit,rever 6isolated_build = True 7 8[testenv] 9deps = 10 test: pytest 11 test: pytest-cov 12 test: pytest-mpi>=0.2 13 14 py37-deps: numpy>=1.14.5 15 py38-deps: numpy>=1.17.5 16 py39-deps: numpy>=1.19.3 17 py310-deps: numpy>=1.21.3 18 19 mindeps: oldest-supported-numpy 20 21 mpi4py: mpi4py>=3.0.2 22 23 tables-deps: tables>=3.4.4 24 tables-mindeps: tables==3.4.4 25 26# see pytest.ini for additional common options to pytest 27commands = 28 test: python -c "import sys; print('64 bit?', sys.maxsize > 2**32)" 29 test: python {toxinidir}/ci/fix_paths.py 30 test: python -c "from h5py.version import info; print(info)" 31 test-!mpi4py: python -m pytest --pyargs h5py --cov=h5py -rxXs --cov-config={toxinidir}/.coveragerc {posargs} 32 test-mpi4py: mpirun -n {env:MPI_N_PROCS:2} {envpython} -m pytest --pyargs h5py -rxXs --with-mpi {posargs} 33changedir = 34 test: {toxworkdir} 35passenv = 36 H5PY_SYSTEM_LZF 37 H5PY_TEST_CHECK_FILTERS 38 HDF5_DIR 39 HDF5_VERSION 40 HDF5_INCLUDEDIR 41 HDF5_LIBDIR 42 HDF5_PKGCONFIG_NAME 43 HDF5_MPI 44 MPI_N_PROCS 45 OMPI_* # used to configure OpenMPI 46 CC 47 ZLIB_ROOT 48whitelist_externals = 49 mpirun 50setenv = 51 COVERAGE_FILE={toxinidir}/.coverage_dir/coverage-{envname} 52# needed otherwise coverage cannot find the file when reporting 53 54pip_pre = 55 pre: True 56 57[testenv:nightly] 58pip_pre = True 59basepython = python3.8 60 61[testenv:docs] 62skip_install=True 63changedir=docs 64deps= 65 sphinx 66commands= 67 sphinx-build -W -b html -d {envtmpdir}/doctrees . {envtmpdir}/html 68 69[testenv:apidocs] 70changedir=docs_api 71deps= 72 sphinx 73commands= 74 sphinx-build -W -b html -d {envtmpdir}/doctrees . _build/html 75 76[testenv:checkreadme] 77skip_install=True 78deps=twine 79commands= 80 python setup.py sdist 81 twine check dist/* 82 83[testenv:pre-commit] 84skip_install=True 85deps=pre-commit 86passenv = HOMEPATH SSH_AUTH_SOCK 87commands= 88 pre-commit run --all-files 89 90[testenv:rever] 91skip_install=True 92deps= 93 re-ver 94 xonsh 95 lazyasd 96 ruamel.yaml 97commands= 98 rever check --activities version_bump,changelog 99