forked from spotify/luigi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tox.ini
131 lines (123 loc) · 3.7 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
125
126
127
128
129
130
131
[tox]
envlist = py{27,33,34,35,36,37}-{cdh,hdp,core,contrib,apache,aws,gcloud,postgres,unixsocket, azureblob}, 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
s3transfer==0.1.13
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>=2.20.0,<3.0
unixsocket: requests-unixsocket<1.0
pygments
hypothesis[datetime]<4.0.0
selenium==3.0.2
pymongo==3.4.0
toml<2.0.0
responses<1.0.0
azure-storage
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
azureblob: NOSE_ATTR=azureblob
core: NOSE_EVAL_ATTR=not minicluster and not gcloud and not postgres and not unixsocket and not contrib and not apache and not aws and not azureblob
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
azureblob: {toxinidir}/scripts/ci/install_start_azurite.sh {toxinidir}/scripts/ci
python --version
coverage run test/runtests.py -v --ignore-files='(^\.|^_|^setup\.py$)' \
{posargs:}
coverage combine
codecov -e TOXENV
azureblob: {toxinidir}/scripts/ci/stop_azurite.sh
[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
azure-storage
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