diff --git a/.travis.yml b/.travis.yml index 855a850329b7..7012db537751 100644 --- a/.travis.yml +++ b/.travis.yml @@ -48,23 +48,12 @@ env: - secure: RgJI7BBL8aX5FTOQe7xiXqWHMxWokd6GNUWp1NUV2mRLXPb9dI0RXqZt3UJwKTAzf1z/OtlHDmEkBoTVK81E9iUxK5npwyyjhJ8yTJmwfQtQF2n51Q1Ww9p+XSLORrOzZc7kAo6Kw6FIXN1pfctgYq2bQkrwJPRx/oPR8f6hcbY= - secure: E7OCdqhZ+PlwJcn+Hd6ns9TDJgEUXiUNEI0wu7xjxB2vBRRIKtZMbuaZjd+iKDqCKuVOJKu0ClBUYxmgmpLicTwi34CfTUYt6D4uhrU+8hBBOn1iiK51cl/aBvlUUrqaRLVhukNEBGZcyqAjXSA/Qsnp2iELEmAfOUa92ZYo1sk= - secure: dfjNqGKzQG5bu3FnDNwLG8H/C4QoieFo4PfFmZPdM2RY7WIzukwKFNT6kiDfOrpwt+2bR7FhzjOGlDECGtlGOtYPN8XuXGjhcP4a4IfakdbDfF+D3NPIpf5VlE6776k0VpvcZBTMYJKNFIMc7QPkOwjvNJ2aXyfe3hBuGlKJzQU= - # Variables controlling Python dependencies. - - CYCLER=cycler - - DATEUTIL=python-dateutil - - NOSE= - - NUMPY=numpy - - PANDAS= - - JUPYTER= - - PYPARSING=pyparsing - # pytest-timeout master depends on pytest>=3.6. Testing with pytest 3.4 is - # still supported; this is tested by the first matrix entry. - - PYTEST='pytest>=3.6' - - PYTEST_COV=pytest-cov - - PYTEST_PEP8= - - PYTEST_TIMEOUT=pytest-timeout - - SPHINX=sphinx # Variables controlling the build. - MPLLOCALFREETYPE=1 + # Variable for the location of an extra pip requirement file + - EXTRAREQS= + # Variable for the location of a pip version file + - PINNEDVERS= # Variables controlling the test run. - DELETE_FONT_CACHE= - NO_AT_BRIDGE=1 # Necessary for GTK3 interactive test. @@ -82,26 +71,15 @@ matrix: - python: 3.5 # pytest-cov>=2.3.1 due to https://github.com/pytest-dev/pytest-cov/issues/124. env: - - CYCLER=cycler==0.10 - - DATEUTIL=python-dateutil==2.1 - - NOSE=nose - - NUMPY=numpy==1.10.0 - - PANDAS='pandas<0.21.0' - - PYPARSING=pyparsing==2.0.1 - - PYTEST=pytest==3.4 - - PYTEST_COV=pytest-cov==2.3.1 - - PYTEST_TIMEOUT=pytest-timeout==1.2.1 # Newer pytest-timeouts don't support pytest 3.4. - - SPHINX=sphinx==1.3 + - PINNEDVERS='-c requirements/testing/travis35.txt' - python: 3.5 env: # - PYTHONOPTIMIZE=2 # This currently doesn't work. - python: 3.6 env: - DELETE_FONT_CACHE=1 - - PANDAS='pandas<0.21.0' - - JUPYTER='jupyter' - - PYTEST_PEP8=pytest-pep8 - PYTEST_ADDOPTS="$PYTEST_ADDOPTS --pep8" + - EXTRAREQS='-r requirements/testing/travis36.txt' - python: "nightly" env: PRE=--pre - os: osx @@ -145,19 +123,7 @@ install: python -mpip install --upgrade pip setuptools wheel - | # Install dependencies from PyPI. - python -mpip install --upgrade $PRE \ - codecov \ - coverage \ - $CYCLER \ - $DATEUTIL \ - $NOSE \ - $NUMPY \ - $PANDAS \ - $JUPYTER \ - pillow \ - $PYPARSING \ - $SPHINX \ - tornado + python -mpip install --upgrade $PRE -r requirements/testing/travis_all.txt $EXTRAREQS $PINNEDVERS # GUI toolkits are pip-installable only for some versions of Python so # don't fail if we can't install them. Make it easier to check whether the # install was successful by trying to import the toolkit (sometimes, the @@ -178,14 +144,6 @@ install: echo 'wxPython is available' || echo 'wxPython is not available' - python -mpip install $PRE \ - $PYTEST \ - $PYTEST_COV \ - pytest-faulthandler \ - $PYTEST_PEP8 \ - pytest-rerunfailures \ - $PYTEST_TIMEOUT \ - pytest-xdist - | # Install matplotlib python -mpip install -ve . diff --git a/requirements/testing/travis35.txt b/requirements/testing/travis35.txt new file mode 100644 index 000000000000..67a58014dab0 --- /dev/null +++ b/requirements/testing/travis35.txt @@ -0,0 +1,11 @@ +# Extra pip requirements for the first travis python 3.5 build + +cycler==0.10 +python-dateutil==2.1 +numpy==1.10.0 +pandas<0.21.0 +pyparsing==2.0.1 +pytest==3.4 +pytest-cov==2.3.1 +pytest-timeout==1.2.1 # Newer pytest-timeouts don't support pytest 3.4. +sphinx==1.3 diff --git a/requirements/testing/travis36.txt b/requirements/testing/travis36.txt new file mode 100644 index 000000000000..1b8dd3e3ff7b --- /dev/null +++ b/requirements/testing/travis36.txt @@ -0,0 +1,5 @@ +# Extra pip requirements for the travis python 3.6 build + +pandas<0.21.0 +jupyter +pytest-pep8 diff --git a/requirements/testing/travis_all.txt b/requirements/testing/travis_all.txt new file mode 100644 index 000000000000..aff3cab60ec6 --- /dev/null +++ b/requirements/testing/travis_all.txt @@ -0,0 +1,19 @@ +# pip requirements for all the travis builds + +codecov +coverage +cycler +numpy +pillow +pyparsing +# pytest-timeout master depends on pytest>=3.6. Testing with pytest 3.4 is +# still supported; this is tested by the first travis python 3.5 build +pytest>=3.6 +pytest-cov +pytest-faulthandler +pytest-rerunfailures +pytest-timeout +pytest-xdist +python-dateutil +sphinx +tornado