Skip to content

Commit

Permalink
.travis.yml tweaks
Browse files Browse the repository at this point in the history
  • Loading branch information
jab committed Nov 17, 2017
1 parent 033083c commit eec602c
Showing 1 changed file with 46 additions and 45 deletions.
91 changes: 46 additions & 45 deletions .travis.yml
Expand Up @@ -4,57 +4,59 @@ env:
global:
- PYENV_ROOT="$HOME/.pyenv"
- PYENV="$PYENV_ROOT/bin/pyenv"
# Default Python version. Used for jobs that don't specify one.
- PYVER=3.6.3

matrix:
include:
# One-off jobs. Override "script" to do something other than run pytest.
# Use latest CPython 3 for these. Set a "TASK" var so the task is evident in the build matrix.
# Each job performs a single task, and sets a "TASK" var so it's evident in the build matrix.

# One-off jobs. Override "script" to do something other than run the default (pytest).
- script: ./build-docs.sh linkcheck
env:
- TASK=build-docs
- PYENV_PYTHON_VER=3.6.3
env: TASK=build-docs
- script: pylint bidict tests/*.py
env:
- TASK=pylint
- PYENV_PYTHON_VER=3.6.3
env: TASK=pylint
- script: flake8 bidict tests/*.py
env:
- TASK=flake8
- PYENV_PYTHON_VER=3.6.3
env: TASK=flake8
- script: pydocstyle bidict
env:
- TASK=pydocstyle
- PYENV_PYTHON_VER=3.6.3

# Test all supported Python versions on macOS...
- os: osx
env: PYENV_PYTHON_VER=2.7.14
- os: osx
env: PYENV_PYTHON_VER=3.4.7
- os: osx
env: PYENV_PYTHON_VER=3.5.3
- os: osx
env: PYENV_PYTHON_VER=3.6.3
- os: osx
env: PYENV_PYTHON_VER=3.7-dev
- os: osx
env: PYENV_PYTHON_VER=pypy2.7-5.9.0
# not yet working on macOS? works on linux:
#- os: osx
#- env: PYENV_PYTHON_VER=pypy3.5-5.9.0
env: TASK=pydocstyle

# ...and Linux.
- env: PYENV_PYTHON_VER=2.7.14
- env: PYENV_PYTHON_VER=3.4.7
- env: PYENV_PYTHON_VER=3.5.3
# Enable coverage just for the latest stable Python 3 version on Linux.
- env: PYENV_PYTHON_VER=3.6.3
# Test with all supported Python versions on Linux.
- env: TASK=pytest PYVER=2.7.14
- env: TASK=pytest PYVER=3.4.7
- env: TASK=pytest PYVER=3.5.3
# Enable coverage for the latest stable Python 3 release on Linux.
- env: TASK=pytest PYVER=3.6.3 COVERAGE=1
script:
- py.test --cov=bidict --cov-config=.coveragerc
- travis_retry pip install coveralls && coveralls
- env: PYENV_PYTHON_VER=3.7-dev
- env: PYENV_PYTHON_VER=pypy2.7-5.9.0
- env: PYENV_PYTHON_VER=pypy3.5-5.9.0
- env: TASK=pytest PYVER=3.7-dev
- env: TASK=pytest PYVER=pypy2.7-5.9.0
- env: TASK=pytest PYVER=pypy3.5-5.9.0

# Test with all supported Python versions on macOS.
# Only do this for master since this is so slow on Travis.
- env: TASK=pytest PYVER=2.7.14
os: osx
if: branch = master
- env: TASK=pytest PYVER=3.4.7
os: osx
if: branch = master
- env: TASK=pytest PYVER=3.5.3
os: osx
if: branch = master
- env: TASK=pytest PYVER=3.6.3
os: osx
if: branch = master
- env: TASK=pytest PYVER=3.7-dev
os: osx
if: branch = master
- env: TASK=pytest PYVER=pypy2.7-5.9.0
os: osx
if: branch = master
- env: TASK=pytest PYVER=pypy3.5-5.9.0
os: osx
if: branch = master

before_install:
- |
Expand All @@ -63,20 +65,19 @@ before_install:
echo "TRAVIS_COMMIT: $TRAVIS_COMMIT"
install:
# based on https://github.com/frol/flask-restplus-server-example/blob/018f48e5/.travis.yml
- |
set -e
if [[ -n "$PYENV_PYTHON_VER" ]]; then
if [[ -n "$PYVER" ]]; then
if [[ -f "$PYENV" ]]; then
pushd "$PYENV_ROOT" && git pull && popd
else
rm -rf "$PYENV_ROOT" && git clone --depth 1 https://github.com/yyuu/pyenv.git "$PYENV_ROOT"
fi
"$PYENV" install --skip-existing "$PYENV_PYTHON_VER"
export PYTHON="$PYENV_ROOT/versions/$PYENV_PYTHON_VER/bin/python"
"$PYENV" install --skip-existing "$PYVER"
export PYTHON="$PYENV_ROOT/versions/$PYVER/bin/python"
$PYTHON -m ensurepip --upgrade
$PYTHON -m pip install --upgrade virtualenv
export VENV="$HOME/virtualenvs/$PYENV_PYTHON_VER"
export VENV="$HOME/virtualenvs/$PYVER"
$PYTHON -m virtualenv --python="$PYTHON" "$VENV"
source "$VENV/bin/activate"
fi
Expand Down

0 comments on commit eec602c

Please sign in to comment.