forked from spotify/luigi
-
Notifications
You must be signed in to change notification settings - Fork 1
/
tox.ini
106 lines (98 loc) · 2.96 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
[tox]
envlist = py{27,33,34,35}-{cdh,hdp,nonhdfs,gcloud,postgres,unixsocket}, visualiser, pypy-scheduler, docs, flake8
skipsdist = True
[testenv]
usedevelop = True
install_command = pip install {opts} {packages}
deps=
mock<2.0
moto<1.0
HTTPretty==0.8.10
nose<2.0
unittest2<2.0
boto<3.0
sqlalchemy<2.0
elasticsearch<2.0.0
psutil<4.0
enum34>1.1.0
cdh,hdp: snakebite>=2.5.2,<2.6.0
cdh,hdp: hdfs>=2.0.4,<3.0.0
postgres: psycopg2<3.0
gcloud: google-api-python-client>=1.4.0,<2.0
py27-gcloud: avro
py33-gcloud,py34-gcloud,py35-gcloud: avro-python3
gcloud: oauth2client<4.0.0
coverage>=4.1,<4.2
codecov>=1.4.0
requests<3.0
unixsocket: requests-unixsocket<1.0
pygments
hypothesis[datetime]
passenv =
USER JAVA_HOME POSTGRES_USER DATAPROC_TEST_PROJECT_ID GCS_TEST_PROJECT_ID GCS_TEST_BUCKET GOOGLE_APPLICATION_CREDENTIALS TRAVIS_BUILD_ID TRAVIS TRAVIS_BRANCH TRAVIS_JOB_NUMBER TRAVIS_PULL_REQUEST TRAVIS_JOB_ID TRAVIS_REPO_SLUG TRAVIS_COMMIT CI
setenv =
LC_ALL = en_US.utf-8
cdh: HADOOP_DISTRO=cdh
cdh: HADOOP_HOME={toxinidir}/.tox/hadoop-cdh
hdp: HADOOP_DISTRO=hdp
hdp: HADOOP_HOME={toxinidir}/.tox/hadoop-hdp
postgres: NOSE_ATTR=postgres
scheduler: NOSE_ATTR=scheduler
cdh,hdp: NOSE_ATTR=minicluster
gcloud: NOSE_ATTR=gcloud
nonhdfs: NOSE_EVAL_ATTR=not minicluster and not gcloud and not postgres and not unixsocket
unixsocket: NOSE_ATTR=unixsocket
LUIGI_CONFIG_PATH={toxinidir}/test/testconfig/luigi.cfg
COVERAGE_PROCESS_START={toxinidir}/.coveragerc
FULL_COVERAGE=true
nonhdfs: NOSE_WITH_DOCTEST=1
commands =
cdh,hdp: {toxinidir}/scripts/ci/setup_hadoop_env.sh
python --version
coverage run test/runtests.py -v --ignore-files='(^\.|^_|^setup\.py$)' \
{posargs:}
coverage combine
codecov -e TOXENV
[testenv:visualiser]
usedevelop = True
deps =
mock<2.0
nose<2.0
unittest2<2.0
passenv = {[testenv]passenv}
setenv =
LC_ALL = en_US.utf-8
NOSE_EVAL_ATTR=not minicluster and not gcloud and not postgres and not unixsocket
LUIGI_CONFIG_PATH={toxinidir}/test/testconfig/luigi.cfg
TEST_VISUALISER=1
commands =
python --version
nosetests -v --tests=test/visualiser
# Flake8 Configuration, inspired from https://gitlab.com/pycqa/flake8/blob/master/tox.ini
# By putting it here, local flake8 runs will also pick it up.
[flake8]
max-line-length=160
[testenv:flake8]
deps =
flake8>=3.2.0
commands =
flake8 --exclude=doc,luigi/six.py,.tox
flake8 --max-line-length=100 --ignore=E265 doc
[testenv:autopep8]
deps = autopep8
commands = autopep8 --ignore E309,E501 -a -i -r luigi test examples bin
[testenv:isort]
deps = isort
commands = isort -w 120 -rc luigi test examples bin
[testenv:docs]
# Build documentation using sphinx.
# Call this using `tox -e docs`.
deps =
sqlalchemy
Sphinx>=1.4.4,<1.5
sphinx_rtd_theme
commands =
# build API docs
sphinx-apidoc -o doc/api -T luigi --separate
# build HTML docs
sphinx-build -W -b html -d {envtmpdir}/doctrees doc doc/_build/html