sudo: false language: python stages: - baseline - name: test if: repo = pytest-dev/pytest AND tag IS NOT present - name: deploy if: repo = pytest-dev/pytest AND tag IS present python: - '3.6' install: - pip install --upgrade --pre tox env: matrix: # note: please use "tox --listenvs" to populate the build matrix below # please remove the linting env in all cases - TOXENV=py27-pexpect - TOXENV=py27-xdist - TOXENV=py27-trial - TOXENV=py27-numpy - TOXENV=py27-pluggymaster PYTEST_NO_COVERAGE=1 - TOXENV=py36-pexpect - TOXENV=py36-xdist - TOXENV=py36-trial - TOXENV=py36-numpy - TOXENV=py36-pluggymaster PYTEST_NO_COVERAGE=1 - TOXENV=py27-nobyte - TOXENV=doctesting - TOXENV=docs PYTEST_NO_COVERAGE=1 jobs: include: # Coverage tracking is slow with pypy, skip it. - env: TOXENV=pypy PYTEST_NO_COVERAGE=1 python: 'pypy-5.4' - env: TOXENV=py35 python: '3.5' - env: TOXENV=py36-freeze PYTEST_NO_COVERAGE=1 python: '3.6' - env: TOXENV=py37 python: '3.7' sudo: required dist: xenial - &test-macos language: generic os: osx osx_image: xcode9.4 sudo: required install: - python -m pip install --pre tox env: TOXENV=py27 - <<: *test-macos env: TOXENV=py37 before_install: - brew update - brew upgrade python - brew unlink python - brew link python - stage: baseline env: TOXENV=py27 - env: TOXENV=py34 - env: TOXENV=py36 - env: TOXENV=linting PYTEST_NO_COVERAGE=1 - stage: deploy python: '3.6' env: PYTEST_NO_COVERAGE=1 install: pip install -U setuptools setuptools_scm script: skip deploy: provider: pypi user: nicoddemus distributions: sdist bdist_wheel skip_upload_docs: true password: secure: xanTgTUu6XDQVqB/0bwJQXoDMnU5tkwZc5koz6mBkkqZhKdNOi2CLoC1XhiSZ+ah24l4V1E0GAqY5kBBcy9d7NVe4WNg4tD095LsHw+CRU6/HCVIFfyk2IZ+FPAlguesCcUiJSXOrlBF+Wj68wEvLoK7EoRFbJeiZ/f91Ww1sbtDlqXABWGHrmhPJL5Wva7o7+wG7JwJowqdZg1pbQExsCc7b53w4v2RBu3D6TJaTAzHiVsW+nUSI67vKI/uf+cR/OixsTfy37wlHgSwihYmrYLFls3V0bSpahCim3bCgMaFZx8S8xrdgJ++PzBCof2HeflFKvW+VCkoYzGEG4NrTWJoNz6ni4red9GdvfjGH3YCjAKS56h9x58zp2E5rpsb/kVq5/45xzV+dq6JRuhQ1nJWjBC6fSKAc/bfwnuFK3EBxNLkvBssLHvsNjj5XG++cB8DdS9wVGUqjpoK4puaXUWFqy4q3S9F86HEsKNgExtieA9qNx+pCIZVs6JCXZNjr0I5eVNzqJIyggNgJG6RyravsU35t9Zd9doL5g4Y7UKmAGTn1Sz24HQ4sMQgXdm2SyD8gEK5je4tlhUvfGtDvMSlstq71kIn9nRpFnqB6MFlbYSEAZmo8dGbCquoUc++6Rum208wcVbrzzVtGlXB/Ow9AbFMYeAGA0+N/K1e59c= on: tags: true repo: pytest-dev/pytest before_script: - | if [[ "$PYTEST_NO_COVERAGE" != 1 ]]; then export COVERAGE_FILE="$PWD/.coverage" export COVERAGE_PROCESS_START="$PWD/.coveragerc" export _PYTEST_TOX_COVERAGE_RUN="coverage run --source {envsitepackagesdir}/_pytest/,{toxinidir}/testing -m" export _PYTEST_TOX_EXTRA_DEP=coverage-enable-subprocess fi script: tox --recreate after_success: - | if [[ "$PYTEST_NO_COVERAGE" != 1 ]]; then set -e pip install codecov coverage combine coverage xml --ignore-errors coverage report -m --ignore-errors codecov --required -X gcov pycov search -f coverage.xml --flags ${TOXENV//-/ } linux # Coveralls does not support merged reports. if [[ "$TOXENV" = py37 ]]; then pip install coveralls coveralls fi fi notifications: irc: channels: - "chat.freenode.net#pytest" on_success: change on_failure: change skip_join: true email: - pytest-commit@python.org cache: directories: - $HOME/.cache/pip - $HOME/.cache/pre-commit