language: python

dist: trusty

python:
  - "2.6"
  - "2.7"
  - "3.3"
  - "3.4"
  - "3.5"
  - "3.5-dev"
  - "3.6"
  - "3.6-dev"
  - "3.7-dev"

# linux deps
addons:
  apt:
    packages:
      - mlocate
      - coreutils
      - python-virtualenv

# osx deps
before_install:
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew list python &>/dev/null || brew install python; fi
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew list python3 &>/dev/null || brew install python3; fi
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install pyenv-virtualenv; fi

install:
  - python setup.py install

script:
  - make test

matrix:
  include:
    - os: osx
      language: generic
      env: TOXENV=py27
    - os: osx
      language: generic
      env: TOXENV=py35
  allow_failures:
    - python: "3.5-dev"
    - python: "3.6-dev"
    - python: "3.7-dev"
    - os: osx
  fast_finish: true

language: python

dist: xenial

python:
  - "2.6"
  - "2.7"
  - "3.3"
  - "3.4"
  - "3.5"
  - "3.6"
  - "3.7"
  - "3.8-dev"

# linux deps
addons:
  apt:
    packages:
      - mlocate
      - coreutils
      - python-virtualenv

# osx deps
before_install:
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew list python &>/dev/null || brew install python; fi
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew list python3 &>/dev/null || brew install python3; fi
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install pyenv-virtualenv; fi

install:
  - python setup.py install

script:
  - make test

matrix:
  include:
    - os: osx
      language: generic
      env: TOXENV=py27
    - os: osx
      language: generic
      env: TOXENV=py35
  allow_failures:
    - python: "3.8-dev"
    - os: osx
  fast_finish: true

Update CI for python 3.8-dev
Update CI for python 3.8-dev
