/
.travis.yml
151 lines (131 loc) · 3.57 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
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
language: python
dist: xenial
notifications:
email: false
addons:
apt:
packages:
- libhdf5-serial-dev
cache:
directories:
- $HOME/.cache/pip
- $HOME/.cache/hdf5
- $HOME/.ccache # https://github.com/travis-ci/travis-ci/issues/5853
env:
global:
- HDF5_CACHE_DIR=$HOME/.cache/hdf5
- secure: "PVgKiZwB5Kr7KFAmjoMYtsKsVGUhDdiYq0YoMMEk/COFHpnRt/3CUKYwW+4vTCSKcaai/1ZiPUrHruCwdnU7sUkJZZdKkh2C+Vqx+DnnfAFMbLPGqgaBG2UEMtDIinXHDtV4k9wSJB2X9KPchA+kkCeB1ZPsELo7J5y2R55AcOw="
matrix:
- TOXENV=docs
- TOXENV=check-manifest
- TOXENV=checkreadme
- TOXENV=pre-commit
matrix:
include:
# needed to work around https://github.com/travis-ci/travis-ci/issues/4794
# TODO: We should see if we can replace this with installing python via pyenv # based on toxenv
# Python 3.6
- python: 3.6
env:
- TOXENV=py36-test-deps
H5PY_ENFORCE_COVERAGE=yes
- python: 3.6
env:
- TOXENV=py36-test-deps
HDF5_VERSION=1.10.3
HDF5_DIR=$HDF5_CACHE_DIR/$HDF5_VERSION
H5PY_ENFORCE_COVERAGE=yes
- python: 3.6
env:
- TOXENV=py36-test-deps-pre
H5PY_ENFORCE_COVERAGE=yes
- python: 3.6
env:
- TOXENV=py36-test-mindeps
H5PY_ENFORCE_COVERAGE=yes
- python: 3.6
env:
- TOXENV=py36-test-deps
TOX_TESTENV_PASSENV=LANG LC_ALL
LANG=C
LC_ALL=C
H5PY_ENFORCE_COVERAGE=yes
# Python 3.7
- python: 3.7
env:
- TOXENV=py37-test-deps
HDF5_VERSION=1.10.4
HDF5_DIR=$HDF5_CACHE_DIR/$HDF5_VERSION
H5PY_ENFORCE_COVERAGE=yes
- python: 3.7
env:
- TOXENV=py37-test-deps
HDF5_VERSION=1.10.5
HDF5_DIR=$HDF5_CACHE_DIR/$HDF5_VERSION
H5PY_ENFORCE_COVERAGE=yes
- python: 3.7
env:
- TOXENV=py37-test-deps
HDF5_VERSION=1.10.5
HDF5_DIR=$HDF5_CACHE_DIR/$HDF5_VERSION
H5PY_ENFORCE_COVERAGE=yes
os: linux-ppc64le
# MPI tests
# TODO: We should test with newer versions of HDF5
- python: 3.6
env:
- TOXENV=py36-test-mindeps-mpi4py
- CC="mpicc"
- HDF5_MPI="ON"
- H5PY_ENFORCE_COVERAGE=yes
addons:
apt:
packages:
- openmpi-bin # 1.6.5 based on trusty
- libopenmpi-dev
- libhdf5-openmpi-dev # 1.8.11 based on trusty
# PyTables compatibility tests
- python: 3.7
env:
- TOXENV=py37-test-mindeps-tables
H5PY_ENFORCE_COVERAGE=yes
- python: 3.7
env:
- TOXENV=apidocs
- HDF5_VERSION=1.10.5
- HDF5_DIR=$HDF5_CACHE_DIR/$HDF5_VERSION
- H5PY_ENFORCE_COVERAGE=yes
script:
- tox
- if [[ -z "$TRAVIS_TAG" ]]; then
DOCTR_DEPLOY_DIR="$TRAVIS_BRANCH";
else
DOCTR_DEPLOY_DIR="v$TRAVIS_TAG";
fi
- pip install doctr
- doctr deploy --build-tags --built-docs docs_api/_build/html $DOCTR_DEPLOY_DIR
# Additional python versions which are not officially supported
- python: "nightly"
env:
- TOXENV=nightly
HDF5_VERSION=1.10.5
HDF5_DIR=$HDF5_CACHE_DIR/$HDF5_VERSION
H5PY_ENFORCE_COVERAGE=yes
- python: pypy3
env:
- TOXENV=pypy3-test-deps
- H5PY_ENFORCE_COVERAGE=yes
allow_failures:
- python: pypy3
- python: 'nightly'
before_install:
# - export PATH=/usr/lib/ccache:$PATH
- ccache -s
install:
- pip install tox codecov
- ci/travis/get_hdf5_if_needed.sh
- ls -lRa $HDF5_CACHE_DIR
script:
- tox
after_success:
- python ci/upload_coverage.py