dist: xenial language: python jobs: fast_finish: true include: - &latest_py2 python: 2.7 - <<: *latest_py2 env: LANG=C - python: pypy env: DISABLE_COVERAGE=1 # Don't run coverage on pypy (too slow). - python: pypy3 env: DISABLE_COVERAGE=1 - python: 3.5 - python: 3.6 - python: 3.7 - &latest_py3 python: 3.8 - <<: *latest_py3 env: LANG=C - python: 3.8-dev - <<: *latest_py3 env: TOXENV=docs DISABLE_COVERAGE=1 - <<: *latest_py3 stage: deploy if: tag IS present script: tox -e release after_success: skip allow_failures: # suppress failures due to pypa/setuptools#2000 - python: pypy3 cache: pip install: # ensure we have recent pip/setuptools/wheel - pip install --disable-pip-version-check --upgrade pip setuptools wheel # need tox to get started - pip install --upgrade tox tox-venv # Output the env, to verify behavior - pip freeze --all - env - "! grep pyc setuptools.egg-info/SOURCES.txt" script: - export NETWORK_REQUIRED=1 - | ( # Run testsuite. if [ -z "$DISABLE_COVERAGE" ] then tox -- --cov else tox fi ) after_success: - | ( # Upload coverage data. if [ -z "$DISABLE_COVERAGE" ] then export TRAVIS_JOB_NAME="${TRAVIS_PYTHON_VERSION} (LANG=$LANG)" CODECOV_ENV=TRAVIS_JOB_NAME tox -e coverage,codecov fi )