diff --git a/.travis.yml b/.travis.yml index 4705e6b200b42..ea06cdb50be2d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,40 +11,53 @@ env: - secure: "PCzUFR8CHmw9lH84p4ygnojdF7Z8U5h7YfY0RyT+5K/aiQ1ZTU3ZkDTPI0/rR5FVMxsEEKEQKMcc5fvqW0PeD7Q2wRmluloKgT9w4EVEJ1ppKf7lITPcvZR2QgVOvjv4AfDtibLHFNiaSjzoqyJVjM4igjOu8WTlF3JfZcmOQjQ=" matrix: + fast_finish: true include: - python: 2.6 env: - NOSE_ARGS="not slow and not network and not disabled" - CLIPBOARD=xclip - LOCALE_OVERRIDE="it_IT.UTF-8" - - JOB_NAME: "26_nslow_nnet" # ScatterCI Build name, 20 chars max + - JOB_NAME: "26_nslow_nnet" - python: 2.7 env: - NOSE_ARGS="slow and not network and not disabled" - LOCALE_OVERRIDE="zh_CN.GB18030" - FULL_DEPS=true - JOB_TAG=_LOCALE - - JOB_NAME: "27_slow_nnet_LOCALE" # ScatterCI Build name, 20 chars max + - JOB_NAME: "27_slow_nnet_LOCALE" - python: 2.7 env: - NOSE_ARGS="not slow and not disabled" - FULL_DEPS=true - CLIPBOARD_GUI=gtk2 - - JOB_NAME: "27_nslow" # ScatterCI Build name, 20 chars max + - JOB_NAME: "27_nslow" - DOC_BUILD=true # if rst files were changed, build docs in parallel with tests - python: 3.2 env: - NOSE_ARGS="not slow and not disabled" - FULL_DEPS=true - CLIPBOARD_GUI=qt4 - - JOB_NAME: "32_nslow" # ScatterCI Build name, 20 chars max + - JOB_NAME: "32_nslow" - python: 3.3 env: - NOSE_ARGS="not slow and not disabled" - FULL_DEPS=true - CLIPBOARD=xsel - - JOB_NAME: "33_nslow" # ScatterCI Build name, 20 chars max - + - JOB_NAME: "33_nslow" + - python: 2.7 + env: + - NOSE_ARGS="not slow and not disabled" + - JOB_NAME: "27_numpy_dev" + - JOB_TAG=_NUMPY_DEV + - NUMPY_BUILD=true # build numpy master from source + allow_failures: + - python: 2.7 + env: + - NOSE_ARGS="not slow and not disabled" + - JOB_NAME: "27_numpy_dev" + - JOB_TAG=_NUMPY_DEV + - NUMPY_BUILD=true # build numpy master from source # allow importing from site-packages, # so apt-get python-x works for system pythons diff --git a/ci/install.sh b/ci/install.sh index 77755a26393c0..28dc350f3cf07 100755 --- a/ci/install.sh +++ b/ci/install.sh @@ -39,20 +39,36 @@ base_url=http://cache27diy-cpycloud.rhcloud.com wheel_box=${TRAVIS_PYTHON_VERSION}${JOB_TAG} PIP_ARGS+=" -I --use-wheel --find-links=$base_url/$wheel_box/ --allow-external --allow-insecure" -# Force virtualenv to accept system_site_packages -rm -f $VIRTUAL_ENV/lib/python$TRAVIS_PYTHON_VERSION/no-global-site-packages.txt - - if [ -n "$LOCALE_OVERRIDE" ]; then # make sure the locale is available # probably useless, since you would need to relogin time sudo locale-gen "$LOCALE_OVERRIDE" fi - # we need these for numpy time sudo apt-get $APT_ARGS install libatlas-base-dev gfortran +if [ -n "$NUMPY_BUILD" ]; then + # building numpy + curdir=$(pwd) + echo "building numpy: $curdir" + + # remove the system installed numpy + pip uninstall numpy -y + + # clone & install + git clone --branch master https://github.com/numpy/numpy.git numpy + cd numpy + time sudo python setup.py install + + cd $curdir + numpy_version=$(python -c 'import numpy; print(numpy.__version__)') + echo "numpy: $numpy_version" +else + # Force virtualenv to accept system_site_packages + rm -f $VIRTUAL_ENV/lib/python$TRAVIS_PYTHON_VERSION/no-global-site-packages.txt +fi + time pip install $PIP_ARGS -r ci/requirements-${wheel_box}.txt @@ -98,6 +114,10 @@ export PATH=/usr/lib/ccache:/usr/lib64/ccache:$PATH which gcc ccache -z time pip install $(find dist | grep gz | head -n 1) -# restore cython -time pip install $PIP_ARGS $(cat ci/requirements-${wheel_box}.txt | grep -i cython) + +# restore cython (if not numpy building) +if [ -z "$NUMPY_BUILD" ]; then + time pip install $PIP_ARGS $(cat ci/requirements-${wheel_box}.txt | grep -i cython) +fi + true diff --git a/ci/requirements-2.7_NUMPY_DEV.txt b/ci/requirements-2.7_NUMPY_DEV.txt new file mode 100644 index 0000000000000..90fa8f11c1cfd --- /dev/null +++ b/ci/requirements-2.7_NUMPY_DEV.txt @@ -0,0 +1,3 @@ +python-dateutil +pytz==2013b +cython==0.19.1