116 lines
3.7 KiB
YAML
116 lines
3.7 KiB
YAML
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:
|
|
# Specialized factors for py27.
|
|
- TOXENV=py27-pexpect,py27-trial,py27-numpy
|
|
- TOXENV=py27-nobyte
|
|
- TOXENV=py27-xdist
|
|
- TOXENV=py27-pluggymaster PYTEST_NO_COVERAGE=1
|
|
# Specialized factors for py36.
|
|
- TOXENV=py36-pexpect,py36-trial,py36-numpy
|
|
- TOXENV=py36-xdist
|
|
- TOXENV=py36-pluggymaster 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
|
|
# remove c++ include files because upgrading python as of 2018-10-23, also
|
|
# attempts to upgrade gcc, and it fails because the include files already
|
|
# exist. removing the include files is one of the solutions recommended by brew
|
|
# this workaround might not be necessary in the future
|
|
- rm '/usr/local/include/c++'
|
|
- brew upgrade python
|
|
- brew unlink python
|
|
- brew link python
|
|
|
|
- stage: baseline
|
|
env: TOXENV=py27
|
|
- env: TOXENV=py34
|
|
- env: TOXENV=py36
|
|
- env: TOXENV=linting,docs,doctesting 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 -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 coverage
|
|
coverage combine
|
|
coverage xml --ignore-errors
|
|
coverage report -m --ignore-errors
|
|
bash <(curl -s https://codecov.io/bash) -Z -X gcov -X coveragepy -X search -X xcode -X gcovout -X fix -f coverage.xml -F "${TOXENV//-/,},linux"
|
|
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
|