From c46bdb2313475c77bd47bc41530763253fb45a6d Mon Sep 17 00:00:00 2001 From: David Stansby Date: Fri, 22 Jun 2018 12:26:54 +0200 Subject: [PATCH 1/4] Make a travis pip install file --- .travis.yml | 5 +---- requirements/testing/travis_all.txt | 4 ++++ 2 files changed, 5 insertions(+), 4 deletions(-) create mode 100644 requirements/testing/travis_all.txt diff --git a/.travis.yml b/.travis.yml index 855a850329b7..67073d0cb9cd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -145,19 +145,16 @@ install: python -mpip install --upgrade pip setuptools wheel - | # Install dependencies from PyPI. + python -mpip install --upgrade $PRE -r requirements/testing/travis_all.txt python -mpip install --upgrade $PRE \ - codecov \ - coverage \ $CYCLER \ $DATEUTIL \ $NOSE \ $NUMPY \ $PANDAS \ $JUPYTER \ - pillow \ $PYPARSING \ $SPHINX \ - tornado # 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 diff --git a/requirements/testing/travis_all.txt b/requirements/testing/travis_all.txt new file mode 100644 index 000000000000..addec799b0a6 --- /dev/null +++ b/requirements/testing/travis_all.txt @@ -0,0 +1,4 @@ +codecov +coverage +pillow +tornado From 4a7268ef720b7d9507283e62fcd47c21eb780e8b Mon Sep 17 00:00:00 2001 From: David Stansby Date: Fri, 22 Jun 2018 14:18:18 +0200 Subject: [PATCH 2/4] Try using custom file for 3.5 build --- .travis.yml | 4 ++-- requirements/testing/travis35.txt | 10 ++++++++++ requirements/testing/travis_all.txt | 2 ++ 3 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 requirements/testing/travis35.txt diff --git a/.travis.yml b/.travis.yml index 67073d0cb9cd..a5717d30a585 100644 --- a/.travis.yml +++ b/.travis.yml @@ -49,10 +49,8 @@ env: - 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 @@ -92,6 +90,7 @@ matrix: - 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 + - EXTRAREQS='requirements/testing/travis35.txt' - python: 3.5 env: # - PYTHONOPTIMIZE=2 # This currently doesn't work. @@ -146,6 +145,7 @@ install: - | # Install dependencies from PyPI. python -mpip install --upgrade $PRE -r requirements/testing/travis_all.txt + python -mpip install --upgrade -r $EXTRAREQS python -mpip install --upgrade $PRE \ $CYCLER \ $DATEUTIL \ diff --git a/requirements/testing/travis35.txt b/requirements/testing/travis35.txt new file mode 100644 index 000000000000..293018fac860 --- /dev/null +++ b/requirements/testing/travis35.txt @@ -0,0 +1,10 @@ +cycler==0.10 +python-dateutil==2.1 +nose +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 +sphinx==1.3 diff --git a/requirements/testing/travis_all.txt b/requirements/testing/travis_all.txt index addec799b0a6..660a56136796 100644 --- a/requirements/testing/travis_all.txt +++ b/requirements/testing/travis_all.txt @@ -1,4 +1,6 @@ codecov coverage +cycler +numpy pillow tornado From 2e98b39459965d17cde88b9db62afceb5234c8ea Mon Sep 17 00:00:00 2001 From: David Stansby Date: Fri, 22 Jun 2018 14:29:35 +0200 Subject: [PATCH 3/4] Convert all environment variables to pip requirements files --- .travis.yml | 46 ++--------------------------- requirements/testing/travis35.txt | 4 ++- requirements/testing/travis36.txt | 5 ++++ requirements/testing/travis_all.txt | 13 ++++++++ 4 files changed, 23 insertions(+), 45 deletions(-) create mode 100644 requirements/testing/travis36.txt diff --git a/.travis.yml b/.travis.yml index a5717d30a585..76caead4030e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -48,19 +48,6 @@ env: - secure: RgJI7BBL8aX5FTOQe7xiXqWHMxWokd6GNUWp1NUV2mRLXPb9dI0RXqZt3UJwKTAzf1z/OtlHDmEkBoTVK81E9iUxK5npwyyjhJ8yTJmwfQtQF2n51Q1Ww9p+XSLORrOzZc7kAo6Kw6FIXN1pfctgYq2bQkrwJPRx/oPR8f6hcbY= - secure: E7OCdqhZ+PlwJcn+Hd6ns9TDJgEUXiUNEI0wu7xjxB2vBRRIKtZMbuaZjd+iKDqCKuVOJKu0ClBUYxmgmpLicTwi34CfTUYt6D4uhrU+8hBBOn1iiK51cl/aBvlUUrqaRLVhukNEBGZcyqAjXSA/Qsnp2iELEmAfOUa92ZYo1sk= - secure: dfjNqGKzQG5bu3FnDNwLG8H/C4QoieFo4PfFmZPdM2RY7WIzukwKFNT6kiDfOrpwt+2bR7FhzjOGlDECGtlGOtYPN8XuXGjhcP4a4IfakdbDfF+D3NPIpf5VlE6776k0VpvcZBTMYJKNFIMc7QPkOwjvNJ2aXyfe3hBuGlKJzQU= - # Variables controlling Python dependencies. - - DATEUTIL=python-dateutil - - NOSE= - - 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 # Variables controlling the test run. @@ -80,16 +67,6 @@ 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 - EXTRAREQS='requirements/testing/travis35.txt' - python: 3.5 env: @@ -97,10 +74,8 @@ matrix: - 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='requirements/testing/travis36.txt' - python: "nightly" env: PRE=--pre - os: osx @@ -145,16 +120,7 @@ install: - | # Install dependencies from PyPI. python -mpip install --upgrade $PRE -r requirements/testing/travis_all.txt - python -mpip install --upgrade -r $EXTRAREQS - python -mpip install --upgrade $PRE \ - $CYCLER \ - $DATEUTIL \ - $NOSE \ - $NUMPY \ - $PANDAS \ - $JUPYTER \ - $PYPARSING \ - $SPHINX \ + python -mpip install --upgrade $PRE -r $EXTRAREQS # 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 @@ -175,14 +141,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 index 293018fac860..689c034091ea 100644 --- a/requirements/testing/travis35.txt +++ b/requirements/testing/travis35.txt @@ -1,3 +1,5 @@ +# Extra pip requirements for the first travis python 3.5 build + cycler==0.10 python-dateutil==2.1 nose @@ -6,5 +8,5 @@ pandas<0.21.0 pyparsing==2.0.1 pytest==3.4 pytest-cov==2.3.1 -pytest-timeout==1.2.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 index 660a56136796..aff3cab60ec6 100644 --- a/requirements/testing/travis_all.txt +++ b/requirements/testing/travis_all.txt @@ -1,6 +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 From 0901f79ba1b00603dda7647c9b94f1b4576e3d03 Mon Sep 17 00:00:00 2001 From: David Stansby Date: Fri, 22 Jun 2018 14:46:59 +0200 Subject: [PATCH 4/4] Use pip version file --- .travis.yml | 11 +++++++---- requirements/testing/travis35.txt | 1 - 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 76caead4030e..7012db537751 100644 --- a/.travis.yml +++ b/.travis.yml @@ -50,6 +50,10 @@ env: - secure: dfjNqGKzQG5bu3FnDNwLG8H/C4QoieFo4PfFmZPdM2RY7WIzukwKFNT6kiDfOrpwt+2bR7FhzjOGlDECGtlGOtYPN8XuXGjhcP4a4IfakdbDfF+D3NPIpf5VlE6776k0VpvcZBTMYJKNFIMc7QPkOwjvNJ2aXyfe3hBuGlKJzQU= # 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. @@ -67,7 +71,7 @@ matrix: - python: 3.5 # pytest-cov>=2.3.1 due to https://github.com/pytest-dev/pytest-cov/issues/124. env: - - EXTRAREQS='requirements/testing/travis35.txt' + - PINNEDVERS='-c requirements/testing/travis35.txt' - python: 3.5 env: # - PYTHONOPTIMIZE=2 # This currently doesn't work. @@ -75,7 +79,7 @@ matrix: env: - DELETE_FONT_CACHE=1 - PYTEST_ADDOPTS="$PYTEST_ADDOPTS --pep8" - - EXTRAREQS='requirements/testing/travis36.txt' + - EXTRAREQS='-r requirements/testing/travis36.txt' - python: "nightly" env: PRE=--pre - os: osx @@ -119,8 +123,7 @@ install: python -mpip install --upgrade pip setuptools wheel - | # Install dependencies from PyPI. - python -mpip install --upgrade $PRE -r requirements/testing/travis_all.txt - python -mpip install --upgrade $PRE -r $EXTRAREQS + 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 diff --git a/requirements/testing/travis35.txt b/requirements/testing/travis35.txt index 689c034091ea..67a58014dab0 100644 --- a/requirements/testing/travis35.txt +++ b/requirements/testing/travis35.txt @@ -2,7 +2,6 @@ cycler==0.10 python-dateutil==2.1 -nose numpy==1.10.0 pandas<0.21.0 pyparsing==2.0.1