-
Notifications
You must be signed in to change notification settings - Fork 2
/
.travis.yml
106 lines (91 loc) · 3.34 KB
/
.travis.yml
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
language: generic
sudo: false
dist: trusty
os: linux
_base_envs:
- &test TEST='true'
- &test_and_lint TEST='true' LINT='true'
- &coverage COVERAGE='true' PARALLEL='false'
- &no_coverage COVERAGE='false' PARALLEL='true'
- &optimize PYTHONOPTIMIZE=2 XTRATESTARGS='--ignore=dask/diagnostics --ignore=dask/array/tests/test_image.py --ignore=dask/array/tests/test_stats.py --ignore=dask/bytes/tests/test_s3.py'
- &no_optimize XTRATESTARGS=
- &imports TEST_IMPORTS='true'
- &no_imports TEST_IMPORTS='false'
- &array_function NUMPY_EXPERIMENTAL_ARRAY_FUNCTION='1'
jobs:
fast_finish: true
include:
- env: &py36_env
- PYTHON_VERSION=3.6
- ENV_FILE=continuous_integration/environment-3.6.yaml
- *test_and_lint
- *no_coverage
- *no_optimize
- *imports
- env: &py37_env
- PYTHON_VERSION=3.7
- ENV_FILE=continuous_integration/environment-3.7.yaml
- *test_and_lint
- *no_coverage
- *no_optimize
- *imports
- *array_function
- env: &py38_env
- PYTHON_VERSION=3.8
- ENV_FILE=continuous_integration/environment-3.8.yaml
- *test_and_lint
- *coverage
- *no_optimize
- *imports
- *array_function
- env: &py38_dev
- UPSTREAM_DEV=1 # Install nightly versions of NumPy, pandas, pyarrow
- ENV_FILE=continuous_integration/environment-3.8-dev.yaml
- *test_and_lint
- *no_coverage
- *no_optimize
- *no_imports
- *array_function
if: type == cron OR commit_message =~ test-upstream # Run on cron jobs or any builds where commit message contains "test-upstream"
- env: *py36_env
if: type != pull_request
os: osx
- env:
- ENV_FILE=continuous_integration/environment-mindeps-array-dataframe.yaml
- *test
- *no_coverage
- *no_optimize
- *no_imports
if: type != pull_request OR commit_message =~ test-mindeps # Skip on PRS unless the commit message contains "test-mindeps"
- env:
- ENV_FILE=continuous_integration/environment-mindeps-bag-delayed.yaml
- *test
- *no_coverage
- *no_optimize
- *no_imports
if: type != pull_request OR commit_message =~ test-mindeps # Skip on PRS unless the commit message contains "test-mindeps"
- env:
- TEST_HDFS='true'
if: type != pull_request OR commit_message =~ test-hdfs # Skip on PRS unless the commit message contains "test-hdfs"
sudo: true
services:
- docker
before_install:
- source continuous_integration/hdfs/startup_hdfs.sh
allow_failures:
- env: *py38_dev
- os: osx
install:
- if [[ $TEST_HDFS == 'true' ]]; then source continuous_integration/hdfs/install.sh; fi
- if [[ $TEST == 'true' ]]; then source continuous_integration/travis/install.sh; fi
script:
- if [[ $TEST_HDFS == 'true' ]]; then source continuous_integration/hdfs/run_tests.sh; fi
- if [[ $TEST == 'true' ]]; then source continuous_integration/travis/run_tests.sh; fi
- if [[ $LINT == 'true' ]]; then python -m pip install flake8 ; flake8 dask; fi
- if [[ $LINT == 'true' ]]; then python -m pip install black ; black dask --check; fi
- if [[ $TEST_IMPORTS == 'true' ]]; then bash continuous_integration/travis/test_imports.sh; fi
after_success:
- codecov
- source continuous_integration/travis/after_success.sh
notifications:
email: false