|
| 1 | +[tox] |
| 2 | +envlist = |
| 3 | + py{36,37,38}-test{,-alldeps,-devdeps}{,-cov} |
| 4 | + py{36,37,38}-test-numpy{116,117,118} |
| 5 | + py{36,37,38}-test-astropy{30,40,lts} |
| 6 | + build_docs |
| 7 | + linkcheck |
| 8 | + codestyle |
| 9 | +requires = |
| 10 | + setuptools >= 30.3.0 |
| 11 | + pip >= 19.3.1 |
| 12 | +isolated_build = true |
| 13 | +indexserver = |
| 14 | + NIGHTLY = https://pypi.anaconda.org/scipy-wheels-nightly/simple |
| 15 | + |
| 16 | +[testenv] |
| 17 | +# Suppress display of matplotlib plots generated during docs build |
| 18 | +setenv = MPLBACKEND=agg |
| 19 | + |
| 20 | +# Pass through the following environment variables which may be needed for the CI |
| 21 | +passenv = HOME WINDIR LC_ALL LC_CTYPE CC CI TRAVIS |
| 22 | + |
| 23 | +# Run the tests in a temporary directory to make sure that we don't import |
| 24 | +# this package from the source tree |
| 25 | +changedir = .tmp/{envname} |
| 26 | + |
| 27 | +# tox environments are constructed with so-called 'factors' (or terms) |
| 28 | +# separated by hyphens, e.g. test-devdeps-cov. Lines below starting with factor: |
| 29 | +# will only take effect if that factor is included in the environment name. To |
| 30 | +# see a list of example environments that can be run, along with a description, |
| 31 | +# run: |
| 32 | +# |
| 33 | +# tox -l -v |
| 34 | +# |
| 35 | +description = |
| 36 | + run tests |
| 37 | + alldeps: with all optional dependencies |
| 38 | + devdeps: with the latest developer version of key dependencies |
| 39 | + oldestdeps: with the oldest supported version of key dependencies |
| 40 | + cov: and test coverage |
| 41 | + numpy116: with numpy 1.16.* |
| 42 | + numpy117: with numpy 1.17.* |
| 43 | + numpy118: with numpy 1.18.* |
| 44 | + astropy30: with astropy 3.0.* |
| 45 | + astropy40: with astropy 4.0.* |
| 46 | + astropylts: with the latest astropy LTS |
| 47 | + |
| 48 | +# The following provides some specific pinnings for key packages |
| 49 | +deps = |
| 50 | + |
| 51 | + cov: coverage |
| 52 | + numpy116: numpy==1.16.* |
| 53 | + numpy117: numpy==1.17.* |
| 54 | + numpy118: numpy==1.18.* |
| 55 | + |
| 56 | + astropy30: astropy==3.0.* |
| 57 | + astropy40: astropy==4.0.* |
| 58 | + astropylts: astropy==4.0.* |
| 59 | + |
| 60 | + devdeps: :NIGHTLY:numpy |
| 61 | + devdeps: git+https://github.com/astropy/astropy.git#egg=astropy |
| 62 | + |
| 63 | +# The following indicates which extras_require from setup.cfg will be installed |
| 64 | +extras = |
| 65 | + test |
| 66 | + alldeps: all |
| 67 | + |
| 68 | +commands = |
| 69 | + pip freeze |
| 70 | + !cov: pytest --pyargs phangsPipeline {toxinidir}/docs {posargs} |
| 71 | + cov: pytest --pyargs phangsPipeline {toxinidir}/docs --cov phangsPipeline --cov-config={toxinidir}/setup.cfg {posargs} |
| 72 | + cov: coverage xml -o {toxinidir}/coverage.xml |
| 73 | + |
| 74 | +[testenv:build_docs] |
| 75 | +changedir = docs |
| 76 | +description = invoke sphinx-build to build the HTML docs |
| 77 | +extras = docs |
| 78 | +commands = |
| 79 | + pip freeze |
| 80 | + sphinx-build -W -b html . _build/html |
| 81 | + |
| 82 | +[testenv:linkcheck] |
| 83 | +changedir = docs |
| 84 | +description = check the links in the HTML docs |
| 85 | +extras = docs |
| 86 | +commands = |
| 87 | + pip freeze |
| 88 | + sphinx-build -W -b linkcheck . _build/html |
| 89 | + |
| 90 | +[testenv:codestyle] |
| 91 | +skip_install = true |
| 92 | +changedir = . |
| 93 | +description = check code style, e.g. with flake8 |
| 94 | +deps = flake8 |
| 95 | +commands = flake8 phangsPipeline --count --max-line-length=100 |
0 commit comments