forked from pytest-dev/pytest
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
As per comment: pytest-dev#6870 (comment)
- Loading branch information
1 parent
f606fef
commit 7dc7f62
Showing
1 changed file
with
23 additions
and
120 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,12 @@ | ||
language: python | ||
dist: xenial | ||
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.7' | ||
python: '3.7.4' | ||
cache: false | ||
|
||
env: | ||
global: | ||
- PYTEST_ADDOPTS=-vv | ||
- PYTEST_ADDOPTS="-vv --showlocals --durations=100 --exitfirst" | ||
- PYTEST_COVERAGE=1 | ||
|
||
# setuptools-scm needs all tags in order to obtain a proper version | ||
git: | ||
|
@@ -22,113 +17,33 @@ install: | |
|
||
jobs: | ||
include: | ||
# OSX tests - first (in test stage), since they are the slower ones. | ||
- &test-macos | ||
os: osx | ||
osx_image: xcode10.1 | ||
language: generic | ||
# Coverage for: | ||
# - py2 with symlink in test_cmdline_python_package_symlink. | ||
env: TOXENV=py27-xdist PYTEST_COVERAGE=1 | ||
before_install: | ||
- python -V | ||
- test $(python -c 'import sys; print("%d%d" % sys.version_info[0:2])') = 27 | ||
- <<: *test-macos | ||
env: TOXENV=py37-pexpect,py37-xdist PYTEST_COVERAGE=1 | ||
before_install: | ||
- which python3 | ||
- python3 -V | ||
- ln -sfn "$(which python3)" /usr/local/bin/python | ||
- python -V | ||
- test $(python -c 'import sys; print("%d%d" % sys.version_info[0:2])') = 37 | ||
|
||
# Full run of latest (major) supported versions, without xdist. | ||
- env: TOXENV=py27 | ||
python: '2.7' | ||
- env: TOXENV=py37 | ||
python: '3.7' | ||
|
||
# Coverage tracking is slow with pypy, skip it. | ||
- env: TOXENV=pypy-xdist | ||
python: 'pypy' | ||
- env: TOXENV=pypy3-xdist | ||
python: 'pypy3' | ||
|
||
- env: TOXENV=py34-xdist | ||
python: '3.4' | ||
- env: TOXENV=py35-xdist | ||
python: '3.5' | ||
|
||
# Coverage for: | ||
# - pytester's LsofFdLeakChecker | ||
# - TestArgComplete (linux only) | ||
# - numpy | ||
# Empty PYTEST_ADDOPTS to run this non-verbose. | ||
- env: TOXENV=py37-lsof-numpy-xdist PYTEST_COVERAGE=1 PYTEST_ADDOPTS= | ||
# - verbose=0 | ||
# - test_sys_breakpoint_interception (via pexpect). | ||
- stage: baseline | ||
env: TOXENV=py38-xdist | ||
python: '3.8' | ||
|
||
# Specialized factors for py27. | ||
- env: TOXENV=py27-nobyte-numpy-xdist | ||
python: '2.7' | ||
- env: TOXENV=py27-pluggymaster-xdist | ||
- env: TOXENV=py27-xdist | ||
python: '2.7' | ||
|
||
# Specialized factors for py37. | ||
# Coverage for: | ||
# - test_sys_breakpoint_interception (via pexpect). | ||
- env: TOXENV=py37-pexpect,py37-twisted PYTEST_COVERAGE=1 | ||
- env: TOXENV=py37-pluggymaster-xdist | ||
- env: TOXENV=py37-freeze | ||
- stage: tests | ||
env: TOXENV=py37-numpy-pexpect-twisted | ||
python: '3.7.4' | ||
|
||
# Jobs only run via Travis cron jobs (currently daily). | ||
- env: TOXENV=py38-xdist | ||
python: '3.8-dev' | ||
if: type = cron | ||
- env: TOXENV=py36-xdist PYTEST_REORDER_TESTS=0 | ||
python: '3.6.9' | ||
|
||
- stage: baseline | ||
# Coverage for: | ||
# - _pytest.unittest._handle_skip (via pexpect). | ||
env: TOXENV=py27-pexpect,py27-twisted PYTEST_COVERAGE=1 | ||
python: '2.7' | ||
# Use py36 here for faster baseline. | ||
- env: TOXENV=py36-xdist | ||
python: '3.6' | ||
- env: TOXENV=linting,docs,doctesting PYTEST_COVERAGE=1 | ||
- env: TOXENV=py35-xdist | ||
python: '3.5.9' | ||
|
||
- env: TOXENV=linting,docs,doctesting | ||
cache: | ||
directories: | ||
- $HOME/.cache/pre-commit | ||
|
||
- stage: deploy | ||
python: '3.6' | ||
install: pip install -U setuptools setuptools_scm tox | ||
script: skip | ||
# token to upload github release notes: GH_RELEASE_NOTES_TOKEN | ||
env: | ||
- secure: "OjOeL7/0JUDkV00SsTs732e8vQjHynpbG9FKTNtZZJ+1Zn4Cib+hAlwmlBnvVukML0X60YpcfjnC4quDOIGLPsh5zeXnvJmYtAIIUNQXjWz8NhcGYrhyzuP1rqV22U68RTCdmOq3lMYU/W2acwHP7T49PwJtOiUM5kF120UAQ0Zi5EmkqkIvH8oM5mO9Dlver+/U7Htpz9rhKrHBXQNCMZI6yj2aUyukqB2PN2fjAlDbCF//+FmvYw9NjT4GeFOSkTCf4ER9yfqs7yglRfwiLtOCZ2qKQhWZNsSJDB89rxIRXWavJUjJKeY2EW2/NkomYJDpqJLIF4JeFRw/HhA47CYPeo6BJqyyNV+0CovL1frpWfi9UQw2cMbgFUkUIUk3F6DD59PHNIOX2R/HX56dQsw7WKl3QuHlCOkICXYg8F7Ta684IoKjeTX03/6QNOkURfDBwfGszY0FpbxrjCSWKom6RyZdyidnESaxv9RzjcIRZVh1rp8KMrwS1OrwRSdG0zjlsPr49hWMenN/8fKgcHTV4/r1Tj6mip0dorSRCrgUNIeRBKgmui6FS8642ab5JNKOxMteVPVR2sFuhjOQ0Jy+PmvceYY9ZMWc3+/B/KVh0dZ3hwvLGZep/vxDS2PwCA5/xw31714vT5LxidKo8yECjBynMU/wUTTS695D3NY=" | ||
addons: | ||
apt: | ||
packages: | ||
# required by publish_gh_release_notes | ||
- pandoc | ||
after_deploy: tox -e publish_gh_release_notes | ||
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 | ||
|
||
matrix: | ||
allow_failures: | ||
- python: '3.8-dev' | ||
env: TOXENV=py38-xdist | ||
# Temporary (https://github.com/pytest-dev/pytest/pull/5334). | ||
- env: TOXENV=pypy3-xdist | ||
python: 'pypy3' | ||
|
||
before_script: | ||
- | | ||
# Do not (re-)upload coverage with cron runs. | ||
|
@@ -143,26 +58,14 @@ before_script: | |
export _PYTEST_TOX_EXTRA_DEP=coverage-enable-subprocess | ||
fi | ||
script: tox | ||
script: env COLUMNS=120 python -m tox | ||
|
||
after_success: | ||
- | | ||
if [[ "$PYTEST_COVERAGE" = 1 ]]; then | ||
set -e | ||
# Add last TOXENV to $PATH. | ||
PATH="$PWD/.tox/${TOXENV##*,}/bin:$PATH" | ||
coverage combine | ||
coverage xml | ||
coverage report -m | ||
bash <(curl -s https://codecov.io/bash) -Z -X gcov -X coveragepy -X search -X xcode -X gcovout -X fix -f coverage.xml -n $TOXENV-$TRAVIS_OS_NAME | ||
env CODECOV_NAME="$TOXENV-$TRAVIS_OS_NAME" scripts/report-coverage.sh | ||
fi | ||
notifications: | ||
irc: | ||
channels: | ||
- "chat.freenode.net#pytest" | ||
on_success: change | ||
on_failure: change | ||
skip_join: true | ||
email: | ||
- [email protected] | ||
branches: | ||
only: | ||
- 4.6.x |