From 42f218013f0695512d7828d2e4f39a618664feda Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Fri, 6 Apr 2018 14:18:26 -0700 Subject: [PATCH 01/10] TST: use nox for testing --- .gitignore | 1 + .travis.yml | 16 +++---- ci/requirements-3.5-0.18.1.pip | 1 - ci/requirements-3.6-0.20.1.conda | 1 - ci/requirements-3.6-MASTER.pip | 4 +- docs/source/changelog.rst | 5 +++ docs/source/contributing.rst | 13 ++++++ nox.py | 75 ++++++++++++++++++++++++++++++++ pandas_gbq/tests/test__query.py | 5 ++- requirements-dev.txt | 6 +++ 10 files changed, 114 insertions(+), 13 deletions(-) create mode 100644 nox.py create mode 100644 requirements-dev.txt diff --git a/.gitignore b/.gitignore index 147e7e1e..33e26ed4 100644 --- a/.gitignore +++ b/.gitignore @@ -68,6 +68,7 @@ dist **/wheelhouse/* # coverage .coverage +.nox # OS generated files # ###################### diff --git a/.travis.yml b/.travis.yml index 42378680..f220708d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,15 +26,10 @@ install: - source activate test-environment - if [[ "$PANDAS" == "MASTER" ]]; then conda install -q numpy pytz python-dateutil; - PRE_WHEELS="https://7933911d6844c6c53a7d-47bd50c35cd79bd838daf386af554a83.ssl.cf2.rackcdn.com"; - pip install --pre --upgrade --timeout=60 -f $PRE_WHEELS pandas; - pip install -e 'git+https://github.com/GoogleCloudPlatform/google-cloud-python.git#egg=version_subpkg&subdirectory=api_core'; - pip install -e 'git+https://github.com/GoogleCloudPlatform/google-cloud-python.git#egg=version_subpkg&subdirectory=core'; - pip install -e 'git+https://github.com/GoogleCloudPlatform/google-cloud-python.git#egg=version_subpkg&subdirectory=bigquery'; else conda install -q pandas=$PANDAS; fi - - pip install coverage pytest pytest-cov flake8 codecov + - pip install nox-automation - REQ="ci/requirements-${PYTHON}-${PANDAS}" - if [ -f "$REQ.pip" ]; then pip install -r "$REQ.pip"; @@ -45,6 +40,9 @@ install: - python setup.py install script: - - pytest -v --cov=pandas_gbq --cov-report xml:/tmp/pytest-cov.xml pandas_gbq - - if [[ $COVERAGE == 'true' ]]; then codecov ; fi - - if [[ $LINT == 'true' ]]; then flake8 pandas_gbq -v ; fi + - if [[ $PYTHON== '2.7' ]]; then nox -s test27 ; fi + - if [[ $PYTHON== '3.5' ]]; then nox -s test35 ; fi + - if [[ $PYTHON== '3.6' && "$PANDAS" == "MASTER" ]]; then nox -s test36master ; fi + - if [ -f "$REQ.conda" ]; then pip install coverage pytest pytest-cov codecov ; pytest -v --cov=pandas_gbq --cov-report xml:/tmp/pytest-cov.xml pandas_gbq ; fi + - if [[ $COVERAGE == 'true' ]]; then nox -s coverage ; fi + - if [[ $LINT == 'true' ]]; then nox -s lint ; fi diff --git a/ci/requirements-3.5-0.18.1.pip b/ci/requirements-3.5-0.18.1.pip index 68ac370d..dd33895c 100644 --- a/ci/requirements-3.5-0.18.1.pip +++ b/ci/requirements-3.5-0.18.1.pip @@ -1,4 +1,3 @@ google-auth==1.4.1 google-auth-oauthlib==0.0.1 -mock google-cloud-bigquery==0.29.0 diff --git a/ci/requirements-3.6-0.20.1.conda b/ci/requirements-3.6-0.20.1.conda index b52f2aeb..e51ca487 100644 --- a/ci/requirements-3.6-0.20.1.conda +++ b/ci/requirements-3.6-0.20.1.conda @@ -1,4 +1,3 @@ google-auth google-auth-oauthlib -mock google-cloud-bigquery diff --git a/ci/requirements-3.6-MASTER.pip b/ci/requirements-3.6-MASTER.pip index 78f6834f..bd379b8b 100644 --- a/ci/requirements-3.6-MASTER.pip +++ b/ci/requirements-3.6-MASTER.pip @@ -1,3 +1,5 @@ google-auth google-auth-oauthlib -mock +git+https://github.com/GoogleCloudPlatform/google-cloud-python.git#egg=version_subpkg&subdirectory=api_core +git+https://github.com/GoogleCloudPlatform/google-cloud-python.git#egg=version_subpkg&subdirectory=core +git+https://github.com/GoogleCloudPlatform/google-cloud-python.git#egg=version_subpkg&subdirectory=bigquery diff --git a/docs/source/changelog.rst b/docs/source/changelog.rst index ffa62f1a..f7711442 100644 --- a/docs/source/changelog.rst +++ b/docs/source/changelog.rst @@ -1,6 +1,11 @@ Changelog ========= +0.5.0 / TBD +----------- + +- Tests now use `nox` to run in multiple Python environments. (:issue:`52`) + 0.4.1 / 2018-04-05 ------------------ diff --git a/docs/source/contributing.rst b/docs/source/contributing.rst index 986e61ed..e6467eab 100644 --- a/docs/source/contributing.rst +++ b/docs/source/contributing.rst @@ -268,6 +268,19 @@ Or with one of the following constructs:: For more, see the `pytest `_ documentation. +Testing on multiple Python versions +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +pandas-gbq uses `nox `__ to automate testing in +multiple Python environments. First, install nox. + +.. code-block:: shell + + $ pip install --upgrade nox-automation + +To run tests in all versions of Python, run `nox` from the repository's root +directory. + .. _contributing.gbq_integration_tests: Running Google BigQuery Integration Tests diff --git a/nox.py b/nox.py new file mode 100644 index 00000000..b34eec03 --- /dev/null +++ b/nox.py @@ -0,0 +1,75 @@ +"""Nox test automation configuration. + +See: https://nox.readthedocs.io/en/latest/ +""" + +import os.path + +import nox + + +PANDAS_PRE_WHEELS='https://7933911d6844c6c53a7d-47bd50c35cd79bd838daf386af554a83.ssl.cf2.rackcdn.com' + + +@nox.session +def default(session): + session.install('mock', 'pytest', 'pytest-cov') + session.install('-e', '.') + session.run( + 'pytest', + os.path.join('pandas_gbq', 'tests'), + '--quiet', + '--cov=pandas_gbq', + '--cov-report', + 'xml:/tmp/pytest-cov.xml', + *session.posargs + ) + + +@nox.session +def test27(session): + session.interpreter = 'python2.7' + session.install('-r', os.path.join('.', 'ci', 'requirements-2.7-0.19.2.pip')) + default(session) + + +@nox.session +def test35(session): + session.interpreter = 'python3.5' + session.install('-r', os.path.join('.', 'ci', 'requirements-3.5-0.18.1.pip')) + default(session) + + +@nox.session +def test36(session): + session.interpreter = 'python3.6' + session.install('-r', os.path.join('.', 'ci', 'requirements-3.6-0.20.1.conda')) + default(session) + + +@nox.session +def test36master(session): + session.interpreter = 'python3.6' + session.install( + '--pre', + '--upgrade', + '--timeout=60', + '-f', PANDAS_PRE_WHEELS, + 'pandas') + session.install('-r', os.path.join('.', 'ci', 'requirements-3.6-MASTER.pip')) + default(session) + + +@nox.session +def lint(session): + session.install('flake8') + session.run('flake8', 'pandas_gbq', '-v') + + +@nox.session +def cover(session): + session.interpreter = 'python3.5' + + session.install('coverage', 'pytest-cov') + session.run('coverage', 'report', '--show-missing', '--fail-under=40') + session.run('coverage', 'erase') diff --git a/pandas_gbq/tests/test__query.py b/pandas_gbq/tests/test__query.py index 43ab00f3..09260636 100644 --- a/pandas_gbq/tests/test__query.py +++ b/pandas_gbq/tests/test__query.py @@ -1,7 +1,10 @@ import pkg_resources -import mock +try: + import mock +except ImportError: + from unittest import mock @mock.patch('google.cloud.bigquery.QueryJobConfig') diff --git a/requirements-dev.txt b/requirements-dev.txt new file mode 100644 index 00000000..e0e72d7f --- /dev/null +++ b/requirements-dev.txt @@ -0,0 +1,6 @@ +flake8 +google-cloud-bigquery +nox-automation +pandas +pytest +setuptools From fedaab2ca5fd25a4d90563d8256d488c69a50f83 Mon Sep 17 00:00:00 2001 From: stickler-ci Date: Fri, 6 Apr 2018 21:28:19 +0000 Subject: [PATCH 02/10] Fixing style errors. --- nox.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/nox.py b/nox.py index b34eec03..435a26ea 100644 --- a/nox.py +++ b/nox.py @@ -8,7 +8,7 @@ import nox -PANDAS_PRE_WHEELS='https://7933911d6844c6c53a7d-47bd50c35cd79bd838daf386af554a83.ssl.cf2.rackcdn.com' +PANDAS_PRE_WHEELS = 'https://7933911d6844c6c53a7d-47bd50c35cd79bd838daf386af554a83.ssl.cf2.rackcdn.com' @nox.session @@ -29,21 +29,24 @@ def default(session): @nox.session def test27(session): session.interpreter = 'python2.7' - session.install('-r', os.path.join('.', 'ci', 'requirements-2.7-0.19.2.pip')) + session.install('-r', os.path.join('.', 'ci', + 'requirements-2.7-0.19.2.pip')) default(session) @nox.session def test35(session): session.interpreter = 'python3.5' - session.install('-r', os.path.join('.', 'ci', 'requirements-3.5-0.18.1.pip')) + session.install('-r', os.path.join('.', 'ci', + 'requirements-3.5-0.18.1.pip')) default(session) @nox.session def test36(session): session.interpreter = 'python3.6' - session.install('-r', os.path.join('.', 'ci', 'requirements-3.6-0.20.1.conda')) + session.install('-r', os.path.join('.', 'ci', + 'requirements-3.6-0.20.1.conda')) default(session) @@ -56,7 +59,8 @@ def test36master(session): '--timeout=60', '-f', PANDAS_PRE_WHEELS, 'pandas') - session.install('-r', os.path.join('.', 'ci', 'requirements-3.6-MASTER.pip')) + session.install('-r', os.path.join('.', 'ci', + 'requirements-3.6-MASTER.pip')) default(session) From 44d04f94162529158ca33dc141dc78f58f1f20c0 Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Fri, 6 Apr 2018 14:31:11 -0700 Subject: [PATCH 03/10] CLN: line lengths --- nox.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/nox.py b/nox.py index b34eec03..4de95fe9 100644 --- a/nox.py +++ b/nox.py @@ -8,7 +8,9 @@ import nox -PANDAS_PRE_WHEELS='https://7933911d6844c6c53a7d-47bd50c35cd79bd838daf386af554a83.ssl.cf2.rackcdn.com' +PANDAS_PRE_WHEELS = ( + 'https://7933911d6844c6c53a7d-47bd50c35cd79bd838daf386af554a83' + '.ssl.cf2.rackcdn.com') @nox.session @@ -29,21 +31,24 @@ def default(session): @nox.session def test27(session): session.interpreter = 'python2.7' - session.install('-r', os.path.join('.', 'ci', 'requirements-2.7-0.19.2.pip')) + session.install( + '-r', os.path.join('.', 'ci', 'requirements-2.7-0.19.2.pip')) default(session) @nox.session def test35(session): session.interpreter = 'python3.5' - session.install('-r', os.path.join('.', 'ci', 'requirements-3.5-0.18.1.pip')) + session.install( + '-r', os.path.join('.', 'ci', 'requirements-3.5-0.18.1.pip')) default(session) @nox.session def test36(session): session.interpreter = 'python3.6' - session.install('-r', os.path.join('.', 'ci', 'requirements-3.6-0.20.1.conda')) + session.install( + '-r', os.path.join('.', 'ci', 'requirements-3.6-0.20.1.conda')) default(session) @@ -56,7 +61,8 @@ def test36master(session): '--timeout=60', '-f', PANDAS_PRE_WHEELS, 'pandas') - session.install('-r', os.path.join('.', 'ci', 'requirements-3.6-MASTER.pip')) + session.install( + '-r', os.path.join('.', 'ci', 'requirements-3.6-MASTER.pip')) default(session) From f013e787517ca577974c3df980326b8861977588 Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Fri, 6 Apr 2018 14:53:06 -0700 Subject: [PATCH 04/10] TST: fix travis bash syntax --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index f220708d..4344ffe6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -40,9 +40,9 @@ install: - python setup.py install script: - - if [[ $PYTHON== '2.7' ]]; then nox -s test27 ; fi - - if [[ $PYTHON== '3.5' ]]; then nox -s test35 ; fi - - if [[ $PYTHON== '3.6' && "$PANDAS" == "MASTER" ]]; then nox -s test36master ; fi + - if [[ $PYTHON == '2.7' ]]; then nox -s test27 ; fi + - if [[ $PYTHON == '3.5' ]]; then nox -s test35 ; fi + - if [[ $PYTHON == '3.6' ]] && [[ "$PANDAS" == "MASTER" ]]; then nox -s test36master ; fi - if [ -f "$REQ.conda" ]; then pip install coverage pytest pytest-cov codecov ; pytest -v --cov=pandas_gbq --cov-report xml:/tmp/pytest-cov.xml pandas_gbq ; fi - if [[ $COVERAGE == 'true' ]]; then nox -s coverage ; fi - if [[ $LINT == 'true' ]]; then nox -s lint ; fi From 1c8def7fb948211d3cddd93a3b1b409b1a7576ae Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Fri, 6 Apr 2018 16:11:33 -0700 Subject: [PATCH 05/10] TST: add setuptools to travis build --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 4344ffe6..be0400f7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -29,7 +29,8 @@ install: else conda install -q pandas=$PANDAS; fi - - pip install nox-automation + - pip install --upgrade pip setuptools + - pip install --upgrade nox-automation - REQ="ci/requirements-${PYTHON}-${PANDAS}" - if [ -f "$REQ.pip" ]; then pip install -r "$REQ.pip"; From c4e088a54b94cc9b5d8678025e0bbce306817492 Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Fri, 6 Apr 2018 16:26:28 -0700 Subject: [PATCH 06/10] TST: separate conda install from nox use --- .travis.yml | 44 +++++++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/.travis.yml b/.travis.yml index be0400f7..2380854d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,37 +13,35 @@ before_install: - source ci/travis_process_gbq_encryption.sh install: - - wget http://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh; - - bash miniconda.sh -b -p $HOME/miniconda - - export PATH="$HOME/miniconda/bin:$PATH" - - hash -r - - conda config --set always_yes yes --set changeps1 no - - conda config --add channels pandas - - conda config --add channels conda-forge - - conda update -q conda - - conda info -a - - conda create -q -n test-environment python=$PYTHON - - source activate test-environment - - if [[ "$PANDAS" == "MASTER" ]]; then - conda install -q numpy pytz python-dateutil; - else - conda install -q pandas=$PANDAS; - fi - - pip install --upgrade pip setuptools - - pip install --upgrade nox-automation - REQ="ci/requirements-${PYTHON}-${PANDAS}" - - if [ -f "$REQ.pip" ]; then - pip install -r "$REQ.pip"; + if [ -f "$REQ.pip" ]; then + pip install --upgrade nox-automation else + wget http://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh; + bash miniconda.sh -b -p $HOME/miniconda + export PATH="$HOME/miniconda/bin:$PATH" + hash -r + conda config --set always_yes yes --set changeps1 no + conda config --add channels pandas + conda config --add channels conda-forge + conda update -q conda + conda info -a + conda create -q -n test-environment python=$PYTHON + source activate test-environment + conda install -q pandas=$PANDAS; + pip install coverage pytest pytest-cov flake8 codecov conda install -q --file "$REQ.conda"; + conda list + python setup.py install fi - - conda list - - python setup.py install script: - if [[ $PYTHON == '2.7' ]]; then nox -s test27 ; fi - if [[ $PYTHON == '3.5' ]]; then nox -s test35 ; fi - if [[ $PYTHON == '3.6' ]] && [[ "$PANDAS" == "MASTER" ]]; then nox -s test36master ; fi - - if [ -f "$REQ.conda" ]; then pip install coverage pytest pytest-cov codecov ; pytest -v --cov=pandas_gbq --cov-report xml:/tmp/pytest-cov.xml pandas_gbq ; fi + - if [ -f "$REQ.conda" ]; then + pip install coverage pytest pytest-cov codecov ; + pytest -v --cov=pandas_gbq --cov-report xml:/tmp/pytest-cov.xml pandas_gbq ; + fi - if [[ $COVERAGE == 'true' ]]; then nox -s coverage ; fi - if [[ $LINT == 'true' ]]; then nox -s lint ; fi From d9d5bde4dfa8e63aa77b261afafbf17a2382b39c Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Fri, 6 Apr 2018 16:33:42 -0700 Subject: [PATCH 07/10] TST: add semicolons --- .travis.yml | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2380854d..8932919b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,33 +13,34 @@ before_install: - source ci/travis_process_gbq_encryption.sh install: - - REQ="ci/requirements-${PYTHON}-${PANDAS}" + - REQ="ci/requirements-${PYTHON}-${PANDAS}" ; if [ -f "$REQ.pip" ]; then - pip install --upgrade nox-automation + pip install --upgrade nox-automation ; else wget http://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh; - bash miniconda.sh -b -p $HOME/miniconda - export PATH="$HOME/miniconda/bin:$PATH" - hash -r - conda config --set always_yes yes --set changeps1 no - conda config --add channels pandas - conda config --add channels conda-forge - conda update -q conda - conda info -a - conda create -q -n test-environment python=$PYTHON - source activate test-environment + bash miniconda.sh -b -p $HOME/miniconda ; + export PATH="$HOME/miniconda/bin:$PATH" ; + hash -r ; + conda config --set always_yes yes --set changeps1 no ; + conda config --add channels pandas ; + conda config --add channels conda-forge ; + conda update -q conda ; + conda info -a ; + conda create -q -n test-environment python=$PYTHON ; + source activate test-environment ; conda install -q pandas=$PANDAS; - pip install coverage pytest pytest-cov flake8 codecov + pip install coverage pytest pytest-cov flake8 codecov ; conda install -q --file "$REQ.conda"; - conda list - python setup.py install + conda list ; + python setup.py install ; fi script: - if [[ $PYTHON == '2.7' ]]; then nox -s test27 ; fi - if [[ $PYTHON == '3.5' ]]; then nox -s test35 ; fi - if [[ $PYTHON == '3.6' ]] && [[ "$PANDAS" == "MASTER" ]]; then nox -s test36master ; fi - - if [ -f "$REQ.conda" ]; then + - REQ="ci/requirements-${PYTHON}-${PANDAS}" ; + if [ -f "$REQ.conda" ]; then pip install coverage pytest pytest-cov codecov ; pytest -v --cov=pandas_gbq --cov-report xml:/tmp/pytest-cov.xml pandas_gbq ; fi From 796abdcf1c8f6a43c9729b450e1a666acb1aa143 Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Fri, 6 Apr 2018 16:40:09 -0700 Subject: [PATCH 08/10] TST: add system python versions to travis The reason is that nox isn't playing nice with conda. "Could not find _remove_dead_weakref" --- .travis.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 8932919b..18b49e2a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,10 @@ sudo: false language: python +python: + - "2.7" + - "3.5" + - "3.6" env: - PYTHON=2.7 PANDAS=0.19.2 COVERAGE='false' LINT='true' @@ -44,5 +48,5 @@ script: pip install coverage pytest pytest-cov codecov ; pytest -v --cov=pandas_gbq --cov-report xml:/tmp/pytest-cov.xml pandas_gbq ; fi - - if [[ $COVERAGE == 'true' ]]; then nox -s coverage ; fi + - if [[ $COVERAGE == 'true' ]]; then nox -s cover ; fi - if [[ $LINT == 'true' ]]; then nox -s lint ; fi From 2ec9559a6049ac06cb0dcf679b980a6e6a8841dd Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Fri, 6 Apr 2018 16:49:42 -0700 Subject: [PATCH 09/10] TST: add global pyenv so binaries appear with right aliases. --- .travis.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 18b49e2a..e97490dd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,22 +1,22 @@ sudo: false language: python -python: - - "2.7" - - "3.5" - - "3.6" env: - - PYTHON=2.7 PANDAS=0.19.2 COVERAGE='false' LINT='true' - - PYTHON=3.5 PANDAS=0.18.1 COVERAGE='true' LINT='false' - - PYTHON=3.6 PANDAS=0.20.1 COVERAGE='false' LINT='false' - - PYTHON=3.6 PANDAS=MASTER COVERAGE='false' LINT='true' + - PYTHON=2.7 PANDAS=0.19.2 COVERAGE='false' LINT='true' PYENV_VERSION=2.7.14 + - PYTHON=3.5 PANDAS=0.18.1 COVERAGE='true' LINT='false' PYENV_VERSION=3.5.4 + - PYTHON=3.6 PANDAS=0.20.1 COVERAGE='false' LINT='false' PYENV_VERSION=3.6.4 + - PYTHON=3.6 PANDAS=MASTER COVERAGE='false' LINT='true' PYENV_VERSION=3.6.4 before_install: - echo "before_install" - source ci/travis_process_gbq_encryption.sh install: + # work around https://github.com/travis-ci/travis-ci/issues/8363 + # https://github.com/pre-commit/pre-commit/commit/e3ab8902692e896da9ded42bd4d76ea4e1de359d + - pyenv install $PYENV_VERSION + - pyenv global system $PYENV_VERSION - REQ="ci/requirements-${PYTHON}-${PANDAS}" ; if [ -f "$REQ.pip" ]; then pip install --upgrade nox-automation ; From b140704ac58bf5727022f9e10ffb57ab31dd11a1 Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Fri, 6 Apr 2018 16:58:21 -0700 Subject: [PATCH 10/10] TST: pyenv install supported versions, skip if installed. --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index e97490dd..bce116d2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,8 +5,8 @@ language: python env: - PYTHON=2.7 PANDAS=0.19.2 COVERAGE='false' LINT='true' PYENV_VERSION=2.7.14 - PYTHON=3.5 PANDAS=0.18.1 COVERAGE='true' LINT='false' PYENV_VERSION=3.5.4 - - PYTHON=3.6 PANDAS=0.20.1 COVERAGE='false' LINT='false' PYENV_VERSION=3.6.4 - - PYTHON=3.6 PANDAS=MASTER COVERAGE='false' LINT='true' PYENV_VERSION=3.6.4 + - PYTHON=3.6 PANDAS=0.20.1 COVERAGE='false' LINT='false' PYENV_VERSION=3.6.1 + - PYTHON=3.6 PANDAS=MASTER COVERAGE='false' LINT='true' PYENV_VERSION=3.6.1 before_install: - echo "before_install" @@ -15,7 +15,7 @@ before_install: install: # work around https://github.com/travis-ci/travis-ci/issues/8363 # https://github.com/pre-commit/pre-commit/commit/e3ab8902692e896da9ded42bd4d76ea4e1de359d - - pyenv install $PYENV_VERSION + - pyenv install -s $PYENV_VERSION - pyenv global system $PYENV_VERSION - REQ="ci/requirements-${PYTHON}-${PANDAS}" ; if [ -f "$REQ.pip" ]; then