forked from biopython/biopython
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis-tox.ini
123 lines (118 loc) · 3.61 KB
/
.travis-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
112
113
114
115
116
117
118
119
120
121
122
123
# This is a configuration file for tox, used to test
# Biopython on various versions of Python etc under
# the Travis Continous Integration service which is
# configured in the file .travis.yml
#
# By default tox will look for tox.ini, so this file
# will not conflict with any personal tox setup.
#
# You can explicitly use this tox configuration on your
# own machine (via the -c setting), PROVIDED you have
# all the relevant versions of Python installed. e.g.
# specifying a specific target envronment (via -e):
#
# $ pip install tox
# $ tox -c .travis-tox.ini -e py35-nocov
#
# Or with test coverage:
#
# $ pip install tox coverage
# $ tox -c .travis-tox.ini -e py35-cover
#
# Or to run the pep8/flake8 etc Python coding style checks:
#
# $ pip install tox flake8 pydocstyle restructuredtext_lint
# $ tox -c .travis-tox.ini -e style
#
# See the envlist setting for other valid arguments.
[tox]
minversion = 2.0
skipsdist = True
envlist =
style
sdist
bdist_wheel
{py27,py33,py34,py35,py36,pypy,pypy3}-cover
{py27,py33,py34,py35,py36,pypy,pypy3}-nocov
[testenv]
# TODO: Try tox default sdist based install instead:
skip_install = True
sitepackages = True
passenv =
CI
TRAVIS
TRAVIS_*
TOXENV
CODECOV_*
whitelist_externals =
bash
echo
# Want to avoid overhead of compiling numpy or scipy:
install_command = pip install --only-binary=numpy,scipy {opts} {packages}
deps =
#Lines startings xxx: are filtered by the environment.
#Leaving py34 without any soft dependencies (just numpy)
cover: coverage
cover: codecov
{py27}: unittest2
{py27}: mysql-python
{py27,py33,py35}: mmtf-python
{py27,py33,py35}: reportlab
{py27,py33,py35}: psycopg2
{py27,py33,py35,pypy}: mysql-connector-python-rf
{py27,py33,py35,pypy}: rdflib
{py27,py33,py34,py35,py36}: numpy
{py35}: scipy
py27: networkx
py35: matplotlib
commands =
#The bash call is a work around for the pipe character
#The yes is in case we get our prompt about missing NumPy
#The /dev/null is to hide the verbose output but leave warnings
bash -c \'/usr/bin/yes | python setup.py install > /dev/null\'
#The bash call is a work around for the cd command
nocov: bash -c \'cd Tests && python run_tests.py --offline\'
#See https://codecov.io/ and https://github.com/codecov/example-python
cover: bash -c \'rm -rf Tests/coverage.xml\'
cover: bash -c \'cd Tests && coverage run run_tests.py --offline && coverage xml\'
cover: codecov --file Tests/coverage.xml -X pycov -X gcov
[testenv:style]
# This does not need to install Biopython or any of its dependencies
skip_install = True
whitelist_externals =
flake8
pydocstyle
rst-lint
bash
deps =
flake8
pydocstyle
restructuredtext_lint
commands =
flake8 BioSQL/
flake8 Scripts/
flake8 Doc/examples/
flake8 Bio/
flake8 Tests/
pydocstyle Bio/ BioSQL/ Tests/ Scripts/ Doc/
# Now do various checks on our RST files:
# Calling via bash to get it to expand the wildcard for us
bash -c \'rst-lint --level warning *.rst\'
# Check sort order (bash call work around for pipe character)
bash -c \'grep "^- " CONTRIB.rst | LC_ALL=C sort -u -c\'
# Check copyright date
bash -c \'grep "1999-`date +'%Y'`" LICENSE.rst\'
[testenv:sdist]
# This does not need to install Biopython or any of its dependencies
skip_install = True
deps =
commands =
python setup.py sdist --manifest-only
python setup.py sdist --formats=gztar,zip
[testenv:bdist_wheel]
# This should use NumPy while compiling our C code...
skip_install = True
deps =
numpy
commands =
python setup.py bdist_wheel