sudo: false

language: python
python: 3.5

# empty "env:" is needed for 'allow_failures'
# https://docs.travis-ci.com/user/customizing-the-build/#Rows-that-are-Allowed-to-Fail
env:

matrix:
  fast_finish: true
  exclude:
    # Exclude the default Python 3.5 build
    - python: 3.5
  include:
    - python: 2.7
      env: TOXENV=py27-cov
    - python: 3.5
      env: TOXENV=py35-cov
    - python: 3.6
      env:
        - TOXENV=py36-cov
        - BUILD_DIST=true
    - python: 3.7
      env: TOXENV=py37-cov
      # required to run python3.7 on Travis CI
      # https://github.com/travis-ci/travis-ci/issues/9815
      dist: xenial
      sudo: true
    - python: pypy2.7-5.8.0
      # disable coverage.py on pypy because of performance problems
      env: TOXENV=pypy-nocov
    - language: generic
      os: osx
      env: TOXENV=py27-cov
    - language: generic
      os: osx
      env:
        - TOXENV=py36-cov
        - HOMEBREW_NO_AUTO_UPDATE=1
    - env:
        - TOXENV=py27-nocov
        - PYENV_VERSION='2.7.6'
        - PYENV_VERSION_STRING='Python 2.7.6'
        - PYENV_ROOT=$HOME/.travis-pyenv
        - TRAVIS_PYENV_VERSION='0.4.0'
  allow_failures:
    # We use fast_finish + allow_failures because OSX builds take forever
    # https://blog.travis-ci.com/2013-11-27-fast-finishing-builds
    - language: generic
      os: osx
      env: TOXENV=py27-cov
    - language: generic
      os: osx
      env:
        - TOXENV=py36-cov
        - HOMEBREW_NO_AUTO_UPDATE=1

cache:
  - pip
  - directories:
    - $HOME/.pyenv_cache

before_install:
  - source ./.travis/before_install.sh

install:
  - ./.travis/install.sh

script:
  - ./.travis/run.sh

after_success:
  - ./.travis/after_success.sh

before_deploy:
  - ./.travis/before_deploy.sh

notifications:
  irc: "irc.freenode.org##fonts"
  email: fonttools-dev@googlegroups.com

deploy:
  # deploy to Github Releases on tags
  - provider: releases
    api_key:
      secure: KEcWhJxMcnKay7wmWJCpg2W5GWHTQ+LaRbqGM11IKGcQuEOFxWuG7W1xjGpVdKPj/MQ+cG0b9hGUFpls1hwseOA1HANMv4xjCgYkuvT1OdpX/KOcZ7gfe/qaovzVxHyP9xwohnHSJMb790t37fmDfFUSROx3iEexIX09LLoDjO8=
    skip_cleanup: true
    file_glob: true
    file: "dist/*"
    on:
      tags: true
      repo: fonttools/fonttools
      all_branches: true
      condition: "$BUILD_DIST == true"
  # deploy to PyPI on tags
  - provider: pypi
    server: https://upload.pypi.org/legacy/
    user: anthrotype
    password:
      secure: Dz3x8kh4ergBV6qZUgcGVDOEzjoCEFzzQiO5WVw4Zfi04DD8+d1ghmMz2BY4UvoVKSsFrfKDuEB3MCWyqewJsf/zoZQczk/vnWVFjERROieyO1Ckzpz/WkCvbjtniIE0lxzB7zorSV+kGI9VigGAaRlXJyU7mCFojeAFqD6cjS4=
    skip_cleanup: true
    distributions: pass
    on:
      tags: true
      repo: fonttools/fonttools
      all_branches: true
      condition: "$BUILD_DIST == true"
