-
Notifications
You must be signed in to change notification settings - Fork 9
/
.travis.yml
191 lines (174 loc) · 5.68 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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
# After changing this file, check it on:
# http://lint.travis-ci.org/
language: python
os:
- linux
- osx
python:
- 3.4
- 3.5
- 3.6
matrix:
exclude:
- os: osx
python: 3.4
- os: osx
python: 3.5
- os: osx
python: 3.6
include:
- os: osx
python: 3.4
language: generic
env: TOXENV=py34
osx_image: xcode10.1
- os: osx
python: 3.5
language: generic
env: TOXENV=py35
osx_image: xcode10.1
- os: osx
python: 3.6
language: generic
env: TOXENV=py36
osx_image: xcode10.1
- os: osx
python: 3.4
language: generic
env: TOXENV=py34
osx_image: xcode9.2
- os: osx
python: 3.5
language: generic
env: TOXENV=py35
osx_image: xcode9.2
- os: osx
python: 3.6
language: generic
env: TOXENV=py36
osx_image: xcode9.2
- os: osx
python: 3.4
language: generic
env: TOXENV=py34
osx_image: xcode8
- os: osx
python: 3.5
language: generic
env: TOXENV=py35
osx_image: xcode8
- os: osx
python: 3.6
language: generic
env: TOXENV=py36
osx_image: xcode8
allow_failures:
- os: osx
env:
global:
# $PYPIPASSWORD
- secure: "sZ/m1r7iKmxPAvbfTe50edLWSQwkCLs7VKR/wttcdIcWJS5Oj90gq9zoga/SKw3o44wamvvTZglvi1iDyUrPL14Rq2OkZlwBYfMmtS9usK7c5Z6NAyvxBniSvZlltIr3UBuryLn0xDN7VJkiCRMYOZJvL+TZ2+ixDjIddkNfw6O/pE1RVWKBgkRU5MmRuWsEBO85hCimBcRnZ/5cLCxTA3sxPITuFv4YnB+FkCRS5oASHIaOucyrXH4ndCtuCDrDTKGRlcM0e5+wnNYnjqC5/WkS07C1HsQNdt30fRKzdaJVpd0DuYSHyzDu0mkl3/zaVwytWqiwoD1G6LtSH4ey+O+WFmpvkY8Xj+3XuHfidDQ6GN1Fk43QKzF7c7u1o/pZr7eR2P/ltVb+x2ol7Ag51Ecx2qC8okhc/OT05P5PoQJhEt1aTjuw2NTd2Wv0Zr6+aobQT08r4Ij4UoxCkvaUi1n4LoPsyz6sIS4xDYOAKhKGrQ9TeO2po6CRmdBEc9vqqO86q9u2uiWRl8cYD40qmnRsu0Nuzwi9RzXXUfoDqgkGmKkaEJycPnKueLHaHxInNVJoqbEnCEdYMZG9PmiqPk0wstSRC1a1covmUNao1JGx6elqhDeNS04Et6keUe4YDlsbMUyQF1QTftzuO5kqgAJQXNsCINTw6UBhytzUeVs="
before_install:
- |
if [[ $TRAVIS_OS_NAME != 'osx' ]]; then
sudo apt-get -y install python3 python3-setuptools
echo "No need to install PyQt5. It is required during execution only"
# Builds, directory for temporay installation
mkdir -p builds
chmod a+rw builds
# Install patchelf
pushd builds
git clone https://github.com/NixOS/patchelf
#curl -L -o patchelf-0.9.tar.gz https://nixos.org/releases/patchelf/patchelf-0.9/patchelf-0.9.tar.gz
#tar -zxvf patchelf-0.9.tar.gz
pushd patchelf
./bootstrap.sh
./configure && make && sudo make install
popd
popd
else
brew update
brew cask uninstall oclint
brew install gcc@5 --without-multilib
brew outdated pyenv || brew upgrade pyenv
eval "$(pyenv init -)"
case "${TOXENV}" in
py34)
PYVER=3.4
# Install the latest release of the specified Python version using pyenv.
PYVER="$(pyenv install --list | grep -E "^\\s*$PYVER" | sort -n -t. -k3 | tail -n1)"
pyenv install $PYVER
pyenv global $PYVER
echo "Selected Python $PYVER"
python --version
;;
py35)
PYVER=3.5
# Install the latest release of the specified Python version using pyenv.
PYVER="$(pyenv install --list | grep -E "^\\s*$PYVER" | sort -n -t. -k3 | tail -n1)"
pyenv install $PYVER
pyenv global $PYVER
echo "Selected Python $PYVER"
python --version
;;
py36)
PYVER=3.6
# Install the latest release of the specified Python version using pyenv.
PYVER="$(pyenv install --list | grep -E "^\\s*$PYVER" | sort -n -t. -k3 | tail -n1)"
pyenv install $PYVER
pyenv global $PYVER
echo "Selected Python $PYVER"
python --version
;;
esac
fi
install:
- |
pip install --upgrade pip
pip install --upgrade wheel
pip install Cython --install-option="--no-cython-compile"
pip install uninstall numpy
pip install install numpy
pip install --upgrade scipy
pip install --upgrade matplotlib
pip install --upgrade h5py
pip install --upgrade sklearn
pip install psutil
if [[ $TRAVIS_OS_NAME != 'osx' ]]; then
pip install auditwheel
else
pip install --upgrade coverage coveralls flake8 pep8
export CC=gcc-5
export CXX=g++-5
fi
# Install gcMapExplorer
pip install -ve .
script:
- python -c 'import gcMapExplorer'
- python -c 'import gcMapExplorer.lib as gmlib'
after_success:
# Specify account details for PyPI
- |
echo "[distutils]" > ~/.pypirc
echo "index-servers =" >> ~/.pypirc
echo " pypi" >> ~/.pypirc
echo "[pypi]" >> ~/.pypirc
echo " username: rjdkmr" >> ~/.pypirc
echo " password: $PYPIPASSWORD" >> ~/.pypirc
# For OS X and tags only, build a Python source distribution and "binary
# wheel" and upload these to PyPI. Note that the source upload will only
# succeed the first time and will be skipped by twine in subsiquent attempts.
- |
pip install --upgrade twine
export TWINE_USERNAME=rjdkmr
export TWINE_PASSWORD=$PYPIPASSWORD
if [[ $TRAVIS_OS_NAME != 'osx' ]]; then
pip wheel --no-deps --no-cache-dir -w wheels .
auditwheel show wheels/*.whl
auditwheel repair wheels/*.whl
twine upload -u rjdkmr -p $PYPIPASSWORD --skip-existing wheelhouse/*
python setup.py sdist
else
python setup.py sdist bdist_wheel
fi
twine upload -u rjdkmr -p $PYPIPASSWORD --skip-existing dist/*