Skip to content

Commit bc2c28a

Browse files
committed
CI: add osx to travis, xref pandas-dev#8630
CI: remove numpy_dev 2.7 build CI: remove extraneous requirements
1 parent 0d082c6 commit bc2c28a

13 files changed

+117
-71
lines changed

.travis.yml

+26-25
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,16 @@ git:
1919
matrix:
2020
fast_finish: true
2121
include:
22-
- python: 2.7
22+
- language: objective-c
23+
os: osx
24+
compiler: clang
25+
osx_image: xcode6.4
2326
env:
24-
- JOB_NAME: "27_nslow_nnet_COMPAT"
25-
- NOSE_ARGS="not slow and not network and not disabled"
26-
- CLIPBOARD=xclip
27-
- LOCALE_OVERRIDE="it_IT.UTF-8"
28-
- BUILD_TYPE=conda
29-
- INSTALL_TEST=true
30-
- JOB_TAG=_COMPAT
27+
- JOB_NAME: "35_osx"
28+
- NOSE_ARGS="not slow and not network and not disabled"
29+
- BUILD_TYPE=conda
30+
- JOB_TAG=_OSX
31+
- TRAVIS_PYTHON_VERSION=3.5
3132
- python: 2.7
3233
env:
3334
- JOB_NAME: "27_slow_nnet_LOCALE"
@@ -75,18 +76,20 @@ matrix:
7576
- NOSE_ARGS="not slow and not disabled"
7677
- FULL_DEPS=true
7778
- BUILD_TEST=true
78-
- python: 2.7
79-
env:
80-
- JOB_NAME: "27_numpy_dev"
81-
- JOB_TAG=_NUMPY_DEV
82-
- NOSE_ARGS="not slow and not network and not disabled"
83-
- PANDAS_TESTING_MODE="deprecate"
8479
- python: 3.5
8580
env:
8681
- JOB_NAME: "35_numpy_dev"
8782
- JOB_TAG=_NUMPY_DEV
8883
- NOSE_ARGS="not slow and not network and not disabled"
8984
- PANDAS_TESTING_MODE="deprecate"
85+
- python: 2.7
86+
env:
87+
- JOB_NAME: "27_nslow_nnet_COMPAT"
88+
- NOSE_ARGS="not slow and not network and not disabled"
89+
- LOCALE_OVERRIDE="it_IT.UTF-8"
90+
- BUILD_TYPE=conda
91+
- INSTALL_TEST=true
92+
- JOB_TAG=_COMPAT
9093
- python: 2.7
9194
env:
9295
- JOB_NAME: "doc_build"
@@ -108,12 +111,6 @@ matrix:
108111
- NOSE_ARGS="slow and not network and not disabled"
109112
- FULL_DEPS=true
110113
- CLIPBOARD=xsel
111-
- python: 2.7
112-
env:
113-
- JOB_NAME: "27_numpy_dev"
114-
- JOB_TAG=_NUMPY_DEV
115-
- NOSE_ARGS="not slow and not network and not disabled"
116-
- PANDAS_TESTING_MODE="deprecate"
117114
- python: 2.7
118115
env:
119116
- JOB_NAME: "27_build_test_conda"
@@ -127,6 +124,14 @@ matrix:
127124
- JOB_TAG=_NUMPY_DEV
128125
- NOSE_ARGS="not slow and not network and not disabled"
129126
- PANDAS_TESTING_MODE="deprecate"
127+
- python: 2.7
128+
env:
129+
- JOB_NAME: "27_nslow_nnet_COMPAT"
130+
- NOSE_ARGS="not slow and not network and not disabled"
131+
- LOCALE_OVERRIDE="it_IT.UTF-8"
132+
- BUILD_TYPE=conda
133+
- INSTALL_TEST=true
134+
- JOB_TAG=_COMPAT
130135
- python: 2.7
131136
env:
132137
- JOB_NAME: "doc_build"
@@ -139,16 +144,13 @@ before_install:
139144
- echo "before_install"
140145
- echo $VIRTUAL_ENV
141146
- export PATH="$HOME/miniconda/bin:$PATH"
142-
- sudo apt-get install ccache
143147
- df -h
144148
- date
145149
- pwd
146150
- uname -a
147151
- python -V
148152
- ci/before_install_travis.sh
149-
# Xvfb stuff for clipboard functionality; see the travis-ci documentation
150153
- export DISPLAY=:99.0
151-
- sh -e /etc/init.d/xvfb start
152154

153155
install:
154156
- echo "install"
@@ -157,8 +159,7 @@ install:
157159
- ci/submit_ccache.sh
158160

159161
before_script:
160-
- mysql -e 'create database pandas_nosetest;'
161-
- psql -c 'create database pandas_nosetest;' -U postgres
162+
- ci/install_db.sh
162163

163164
script:
164165
- echo "script"

ci/before_install_travis.sh

+5-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88
echo "inside $0"
99

1010
# overview
11-
sudo apt-get update $APT_ARGS # run apt-get update for all versions
11+
if [ "${TRAVIS_OS_NAME}" == "linux" ]; then
12+
sudo apt-get update $APT_ARGS # run apt-get update for all versions
13+
14+
sh -e /etc/init.d/xvfb start
15+
fi
1216

1317
true # never fail because bad things happened here

ci/build_docs.sh

+5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
#!/bin/bash
22

3+
if [ "${TRAVIS_OS_NAME}" != "linux" ]; then
4+
echo "not doing build_docs on non-linux"
5+
exit 0
6+
fi
7+
38
cd "$TRAVIS_BUILD_DIR"
49
echo "inside $0"
510

ci/install_db.sh

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/bin/bash
2+
3+
if [ "${TRAVIS_OS_NAME}" != "linux" ]; then
4+
echo "not using dbs on non-linux"
5+
exit 0
6+
fi
7+
8+
echo "installing dbs"
9+
mysql -e 'create database pandas_nosetest;'
10+
psql -c 'create database pandas_nosetest;' -U postgres
11+
12+
echo "done"
13+
exit 0

ci/install_travis.sh

+24-12
Original file line numberDiff line numberDiff line change
@@ -38,16 +38,16 @@ if [ -n "$LOCALE_OVERRIDE" ]; then
3838
# make sure the locale is available
3939
# probably useless, since you would need to relogin
4040
time sudo locale-gen "$LOCALE_OVERRIDE"
41-
fi
4241

43-
# Need to enable for locale testing. The location of the locale file(s) is
44-
# distro specific. For example, on Arch Linux all of the locales are in a
45-
# commented file--/etc/locale.gen--that must be commented in to be used
46-
# whereas Ubuntu looks in /var/lib/locales/supported.d/* and generates locales
47-
# based on what's in the files in that folder
48-
time echo 'it_CH.UTF-8 UTF-8' | sudo tee -a /var/lib/locales/supported.d/it
49-
time sudo locale-gen
42+
# Need to enable for locale testing. The location of the locale file(s) is
43+
# distro specific. For example, on Arch Linux all of the locales are in a
44+
# commented file--/etc/locale.gen--that must be commented in to be used
45+
# whereas Ubuntu looks in /var/lib/locales/supported.d/* and generates locales
46+
# based on what's in the files in that folder
47+
time echo 'it_CH.UTF-8 UTF-8' | sudo tee -a /var/lib/locales/supported.d/it
48+
time sudo locale-gen
5049

50+
fi
5151

5252
# install gui for clipboard testing
5353
if [ -n "$CLIPBOARD_GUI" ]; then
@@ -67,7 +67,12 @@ fi
6767
python_major_version="${TRAVIS_PYTHON_VERSION:0:1}"
6868
[ "$python_major_version" == "2" ] && python_major_version=""
6969

70-
wget http://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh -O miniconda.sh || exit 1
70+
# install miniconda
71+
if [ "${TRAVIS_OS_NAME}" == "osx" ]; then
72+
wget http://repo.continuum.io/miniconda/Miniconda-latest-MacOSX-x86_64.sh -O miniconda.sh || exit 1
73+
else
74+
wget http://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh -O miniconda.sh || exit 1
75+
fi
7176
bash miniconda.sh -b -p $HOME/miniconda || exit 1
7277

7378
conda config --set always_yes yes --set changeps1 no || exit 1
@@ -94,7 +99,7 @@ time conda install -n pandas --file=${REQ} || exit 1
9499
source activate pandas
95100

96101
# set the compiler cache to work
97-
if [ "$IRON_TOKEN" ]; then
102+
if [[ "$IRON_TOKEN" && "${TRAVIS_OS_NAME}" == "linux" ]]; then
98103
export PATH=/usr/lib/ccache:/usr/lib64/ccache:$PATH
99104
gcc=$(which gcc)
100105
echo "gcc: $gcc"
@@ -113,24 +118,31 @@ if [ "$BUILD_TEST" ]; then
113118
else
114119

115120
# build but don't install
121+
echo "build em"
116122
time python setup.py build_ext --inplace || exit 1
117123

118124
# we may have run installations
125+
echo "conda installs"
119126
REQ="ci/requirements-${TRAVIS_PYTHON_VERSION}${JOB_TAG}.run"
120127
time conda install -n pandas --file=${REQ} || exit 1
121128

122129
# we may have additional pip installs
130+
echo "pip installs"
123131
REQ="ci/requirements-${TRAVIS_PYTHON_VERSION}${JOB_TAG}.pip"
124132
if [ -e ${REQ} ]; then
125133
pip install -r $REQ
126134
fi
127135

128136
# remove any installed pandas package
129-
conda remove pandas
137+
# w/o removing anything else
138+
echo "removing installed pandas"
139+
conda remove pandas --force
130140

131141
# install our pandas
142+
echo "running setup.py develop"
132143
python setup.py develop || exit 1
133144

134145
fi
135146

136-
true
147+
echo "done"
148+
exit 0

ci/prep_ccache.sh

+5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
#!/bin/bash
22

3+
if [ "${TRAVIS_OS_NAME}" != "linux" ]; then
4+
echo "not using ccache on non-linux"
5+
exit 0
6+
fi
7+
38
if [ "$IRON_TOKEN" ]; then
49

510
home_dir=$(pwd)

ci/requirements-2.7-64.run

-4
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,6 @@ scipy
1313
xlsxwriter
1414
boto
1515
bottleneck
16-
patsy
1716
html5lib
1817
beautiful-soup
1918
jinja2=2.8
20-
21-
#pymysql=0.6.3
22-
#psycopg2=2.5.2

ci/requirements-3.4-64.run

-5
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,8 @@ openpyxl
55
xlsxwriter
66
xlrd
77
xlwt
8-
html5lib
9-
patsy
10-
beautiful-soup
118
scipy
129
numexpr
1310
pytables
14-
lxml
15-
sqlalchemy
1611
bottleneck
1712
jinja2=2.8

ci/requirements-3.5-64.run

-13
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,8 @@ openpyxl
55
xlsxwriter
66
xlrd
77
xlwt
8-
patsy
98
scipy
109
numexpr
1110
pytables
12-
html5lib
13-
lxml
1411
matplotlib
15-
jinja2
1612
blosc
17-
18-
# currently causing some warnings
19-
#sqlalchemy
20-
#pymysql
21-
#psycopg2
22-
23-
# not available from conda
24-
#beautiful-soup
25-
#bottleneck

ci/requirements-3.5.run

-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ openpyxl
55
xlsxwriter
66
xlrd
77
xlwt
8-
patsy
98
scipy
109
numexpr
1110
pytables

ci/requirements-3.5_OSX.build

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
python-dateutil
2+
pytz
3+
numpy
4+
cython

ci/requirements-3.5_OSX.run

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
python-dateutil
2+
pytz
3+
numpy
4+
openpyxl
5+
xlsxwriter
6+
xlrd
7+
xlwt
8+
scipy
9+
numexpr
10+
pytables
11+
html5lib
12+
lxml
13+
matplotlib
14+
jinja2
15+
bottleneck
16+
xarray
17+
boto
18+
19+
# incompat with conda ATM
20+
# beautiful-soup

ci/submit_ccache.sh

+15-10
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,23 @@
11
#!/bin/bash
22

3-
home_dir=$(pwd)
4-
ccache -s
5-
6-
MISSES=$(ccache -s | grep "cache miss" | grep -Po "\d+")
7-
echo "MISSES: $MISSES"
8-
9-
if [ x"$MISSES" == x"0" ]; then
10-
echo "No cache misses detected, skipping upload"
11-
exit 0
3+
if [ "${TRAVIS_OS_NAME}" != "linux" ]; then
4+
echo "not using ccache on non-linux"
5+
exit 0
126
fi
137

148
if [ "$IRON_TOKEN" ]; then
159

10+
home_dir=$(pwd)
11+
ccache -s
12+
13+
MISSES=$(ccache -s | grep "cache miss" | grep -Po "\d+")
14+
echo "MISSES: $MISSES"
15+
16+
if [ x"$MISSES" == x"0" ]; then
17+
echo "No cache misses detected, skipping upload"
18+
exit 0
19+
fi
20+
1621
# install the compiler cache
1722
sudo apt-get $APT_ARGS install ccache p7zip-full
1823
# iron_cache, pending py3 fixes upstream
@@ -29,6 +34,6 @@ if [ "$IRON_TOKEN" ]; then
2934
split -b 500000 -d $HOME/ccache.7z $HOME/ccache.
3035

3136
python ci/ironcache/put.py
32-
fi;
37+
fi
3338

3439
exit 0

0 commit comments

Comments
 (0)