dist: xenial
language: python
python: "3.7"

jobs:
  include:

#    - stage: code quality
#      name: "pylint & mypy"
#      install:
#        - make install tools
#      script: make lint

    - stage: test
      name: "Unit Tests"
      install:
        - make install tools
      script:
        - HOME=/tmp coverage run -p --source=lbry -m unittest discover -vv tests.unit

    - name: "Integration Tests"
      install:
        - pip install coverage tox-travis
        - sudo mount -o mode=1777,nosuid,nodev -t tmpfs tmpfs /tmp
      script: tox

    - name: "Run Examples"
      install:
        - make install tools
      script:
        - HOME=/tmp coverage run -p --source=lbry scripts/generate_json_api.py

cache:
  directories:
    - $HOME/venv
    - $HOME/.cache/pip
    - $HOME/Library/Caches/pip
    - $HOME/Library/Caches/Homebrew
    - $TRAVIS_BUILD_DIR/.tox