forked from spotify/luigi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tox.ini
124 lines (116 loc) · 3.42 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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
[tox]
envlist = py{27,33,34,35,36,37}-{cdh,hdp,core,contrib,apache,aws,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.3.6
HTTPretty==0.8.10
nose<2.0
docker>=2.1.0
unittest2<2.0
boto<3.0
boto3>=1.4.4
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
mysql-connector-python>=8.0.12
gcloud: google-api-python-client>=1.4.0,<2.0
py27-gcloud: avro
py33-gcloud,py34-gcloud,py35-gcloud,py36-gcloud: avro-python3
gcloud: google-auth==1.4.1
gcloud: google-auth-httplib2==0.0.3
google-compute-engine
coverage>=4.1,<4.2
codecov>=1.4.0
requests<3.0
unixsocket: requests-unixsocket<1.0
pygments
hypothesis[datetime]
selenium==3.0.2
pymongo==3.4.0
toml<2.0.0
datadog==0.22.0
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
contrib: NOSE_ATTR=contrib
apache: NOSE_ATTR=apache
aws: NOSE_ATTR=aws
postgres: NOSE_ATTR=postgres
scheduler: NOSE_ATTR=scheduler
cdh,hdp: NOSE_ATTR=minicluster
gcloud: NOSE_ATTR=gcloud
unixsocket: NOSE_ATTR=unixsocket
core: NOSE_EVAL_ATTR=not minicluster and not gcloud and not postgres and not unixsocket and not contrib and not apache and not aws
LUIGI_CONFIG_PATH={toxinidir}/test/testconfig/luigi.cfg
COVERAGE_PROCESS_START={toxinidir}/.coveragerc
FULL_COVERAGE=true
core: NOSE_WITH_DOCTEST=1
AWS_DEFAULT_REGION=us-east-1
AWS_ACCESS_KEY_ID=accesskey
AWS_SECRET_ACCESS_KEY=secretkey
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
selenium==3.0.2
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
boto3
Sphinx>=1.4.4,<1.5
sphinx_rtd_theme
enum34>1.1.0
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