dist: xenial
sudo: false
language: python

python:
  - "2.7"
  - "3.4"
  - "3.5"
  - "3.6"
  - "3.7"
  - "3.8"
  - "3.9"
  - "pypy"
  - "pypy3.5-7.0" # Need 7.0+ due to a bug in earlier versions that broke our tests.

matrix:
  include:
    - name: "Type checking"
      python: "3.7"
      env: TOXENV=typecheck
    - name: "Lint"
      python: "3.7"
      env: TOXENV=lint

  # Temporary bandaid for https://github.com/PyFilesystem/pyfilesystem2/issues/342
  allow_failures:
    - python: pypy
    - python: pypy3.5-7.0

before_install:
  - pip install -U tox tox-travis
  - pip --version
  - pip install -r testrequirements.txt
  - pip freeze

install:
  - pip install -e .

# command to run tests
script: tox

after_success:
  - coveralls

before_deploy:
  - pip install -U twine wheel
  - python setup.py sdist bdist_wheel

deploy:
  provider: script
  script: twine upload dist/*
  skip_cleanup: true
  on:
    python: 3.9
    tags: true
    repo: PyFilesystem/pyfilesystem2

