@@ -17,8 +17,13 @@ if [[ "$(uname)" == "Linux" && -n "$LC_ALL" ]]; then
17
17
echo
18
18
fi
19
19
20
- MINICONDA_DIR=" $HOME /miniconda3"
21
20
21
+ if [ ` uname -m` = ' aarch64' ]; then
22
+ MINICONDA_DIR=" $HOME /archiconda3"
23
+ IS_SUDO=" sudo"
24
+ else
25
+ MINICONDA_DIR=" $HOME /miniconda3"
26
+ fi
22
27
23
28
if [ -d " $MINICONDA_DIR " ]; then
24
29
echo
41
46
exit 1
42
47
fi
43
48
44
- wget -q " https://repo.continuum.io/miniconda/Miniconda3-latest-$CONDA_OS .sh" -O miniconda.sh
45
- chmod +x miniconda.sh
46
- ./miniconda.sh -b
49
+ if [ ` uname -m` = ' aarch64' ]; then
50
+ wget -q " https://github.com/Archiconda/build-tools/releases/download/0.2.3/Archiconda3-0.2.3-Linux-aarch64.sh" -O archiconda.sh
51
+ chmod +x archiconda.sh
52
+ $IS_SUDO apt-get install python-dev
53
+ $IS_SUDO apt-get install python3-pip
54
+ $IS_SUDO apt-get install lib$ARCHICONDA_PYTHON -dev
55
+ $IS_SUDO apt-get install xvfb
56
+ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH :/usr/lib:/usr/local/lib:/usr/local/bin/python
57
+ ./archiconda.sh -b
58
+ echo " chmod MINICONDA_DIR"
59
+ $IS_SUDO chmod -R 777 $MINICONDA_DIR
60
+ $IS_SUDO cp $MINICONDA_DIR /bin/* /usr/bin/
61
+ $IS_SUDO rm /usr/bin/lsb_release
62
+ else
63
+ wget -q " https://repo.continuum.io/miniconda/Miniconda3-latest-$CONDA_OS .sh" -O miniconda.sh
64
+ chmod +x miniconda.sh
65
+ ./miniconda.sh -b
66
+ fi
47
67
48
68
export PATH=$MINICONDA_DIR /bin:$PATH
49
69
55
75
echo " update conda"
56
76
conda config --set ssl_verify false
57
77
conda config --set quiet true --set always_yes true --set changeps1 false
58
- conda install pip conda # create conda to create a historical artifact for pip & setuptools
59
- conda update -n base conda
78
+ $IS_SUDO conda install pip # create conda to create a historical artifact for pip & setuptools
79
+ $IS_SUDO conda update -n base conda
60
80
61
81
echo " conda info -a"
62
82
conda info -a
@@ -96,8 +116,18 @@ conda list
96
116
conda remove --all -q -y -n pandas-dev
97
117
98
118
echo
119
+ if [ ` uname -m` = ' aarch64' ]; then
120
+ $IS_SUDO chmod -R 777 $MINICONDA_DIR
121
+ $IS_SUDO conda install botocore
122
+ $IS_SUDO conda install numpy
123
+ $IS_SUDO conda install python-dateutil=2.8.0
124
+ $IS_SUDO conda install hypothesis
125
+ $IS_SUDO conda install pytz
126
+ $IS_SUDO chmod -R 777 $MINICONDA_DIR
127
+ fi
128
+
99
129
echo " conda env create -q --file=${ENV_FILE} "
100
- time conda env create -q --file=" ${ENV_FILE} "
130
+ time $IS_SUDO conda env create -q --file=" ${ENV_FILE} "
101
131
102
132
103
133
if [[ " $BITS32 " == " yes" ]]; then
@@ -111,13 +141,17 @@ source activate pandas-dev
111
141
echo
112
142
echo " remove any installed pandas package"
113
143
echo " w/o removing anything else"
114
- conda remove pandas -y --force || true
115
- pip uninstall -y pandas || true
144
+ $IS_SUDO conda remove pandas -y --force || true
145
+ if [ ` uname -m` = ' aarch64' ]; then
146
+ $IS_SUDO $ARCHICONDA_PYTHON -m pip uninstall -y pandas || true
147
+ else
148
+ pip uninstall -y pandas || true
149
+ fi
116
150
117
151
echo
118
152
echo " remove postgres if has been installed with conda"
119
153
echo " we use the one from the CI"
120
- conda remove postgresql -y --force || true
154
+ $IS_SUDO conda remove postgresql -y --force || true
121
155
122
156
echo
123
157
echo " remove qt"
@@ -131,7 +165,10 @@ conda list pandas
131
165
# Make sure any error below is reported as such
132
166
133
167
echo " [Build extensions]"
134
- python setup.py build_ext -q -i -j2
168
+ if [ ` uname -m` = ' aarch64' ]; then
169
+ sudo chmod -R 777 /home/travis/.ccache
170
+ fi
171
+ python setup.py build_ext -q -i
135
172
136
173
# TODO: Some of our environments end up with old versions of pip (10.x)
137
174
# Adding a new enough version of pip to the requirements explodes the
@@ -140,21 +177,40 @@ python setup.py build_ext -q -i -j2
140
177
# - py35_compat
141
178
# - py36_32bit
142
179
echo " [Updating pip]"
143
- python -m pip install --no-deps -U pip wheel setuptools
180
+ if [ ` uname -m` = ' aarch64' ]; then
181
+ sudo chmod -R 777 /home/travis/archiconda3/envs/pandas-dev/lib/$ARCHICONDA_PYTHON /site-packages
182
+ $IS_SUDO $ARCHICONDA_PYTHON -m pip install pytest-forked
183
+ $IS_SUDO $ARCHICONDA_PYTHON -m pip install pytest-xdist
184
+ $IS_SUDO $ARCHICONDA_PYTHON -m pip install --no-deps -U pip wheel setuptools
185
+ sudo chmod -R 777 $MINICONDA_DIR
186
+ else
187
+ python -m pip install --no-deps -U pip wheel setuptools
188
+ fi
144
189
145
190
echo " [Install pandas]"
146
- python -m pip install --no-build-isolation -e .
191
+ if [ ` uname -m` = ' aarch64' ]; then
192
+ $IS_SUDO chmod -R 777 $MINICONDA_DIR
193
+ $IS_SUDO $ARCHICONDA_PYTHON -m pip install numpy
194
+ $IS_SUDO $ARCHICONDA_PYTHON -m pip install hypothesis
195
+ $IS_SUDO chmod -R 777 /home/travis/.cache/
196
+ $IS_SUDO $ARCHICONDA_PYTHON -m pip install --no-build-isolation -e .
197
+ else
198
+ python -m pip install --no-build-isolation -e .
199
+ fi
147
200
148
201
echo
149
202
echo " conda list"
150
203
conda list
151
204
152
205
# Install DB for Linux
153
-
154
206
if [[ -n ${SQL: 0} ]]; then
155
207
echo " installing dbs"
208
+ if [ ` uname -m` = ' aarch64' ]; then
209
+ sudo systemctl start mysql
210
+ else
211
+ psql -c ' create database pandas_nosetest;' -U postgres
212
+ fi
156
213
mysql -e ' create database pandas_nosetest;'
157
- psql -c ' create database pandas_nosetest;' -U postgres
158
214
else
159
215
echo " not using dbs on non-linux Travis builds or Azure Pipelines"
160
216
fi
0 commit comments