language: python matrix: include: - python: 2.7 - python: 3.5 - python: 3.6 - python: 3.7 dist: xenial sudo: true - python: 3.7 dist: xenial env: TEST_OFFICIAL=true - python: pypy2.7-5.10.0 dist: xenial - python: pypy3.5-5.10.1 dist: xenial - python: 3.8-dev dist: xenial allow_failures: - python: pypy2.7-5.10.0 - python: pypy3.5-5.10.1 dist: trusty sudo: false branches: only: - master - /^[vV]\d+$/ cache: directories: - $HOME/.cache/pip - $HOME/.pre-commit before_cache: - rm -f $HOME/.cache/pip/log/debug.log - rm -f $HOME/.pre-commit/pre-commit.log install: # fix TypeError from old version of this - pip install -U codecov pytest-cov - echo $TRAVIS_PYTHON_VERSION - if [[ $TRAVIS_PYTHON_VERSION == '3.7'* ]]; then pip install -U git+https://github.com/yaml/pyyaml.git; else true; fi - pip install -U -r requirements.txt - pip install -U -r requirements-dev.txt - if [[ $TRAVIS_PYTHON_VERSION != 'pypy'* ]]; then pip install ujson; else true; fi script: - if [[ $TEST_OFFICIAL != 'true' ]]; then pytest -v -m nocoverage; else true; fi - if [[ $TEST_OFFICIAL != 'true' ]]; then pytest -v -m "not nocoverage" --cov; else true; fi - if [[ $TEST_OFFICIAL == 'true' ]]; then pytest -v tests/test_official.py; else true; fi after_success: - coverage combine - codecov -F Travis