1
1
language : python
2
2
dist : xenial
3
- stages :
4
- - baseline
5
- - name : test
6
- if : repo = pytest-dev/pytest AND tag IS NOT present
7
- - name : deploy
8
- if : repo = pytest-dev/pytest AND tag IS present
9
- python : ' 3.7'
3
+ python : ' 3.7.4'
10
4
cache : false
11
5
12
6
env :
13
7
global :
14
- - PYTEST_ADDOPTS=-vv
8
+ - PYTEST_ADDOPTS="-vv --showlocals --durations=100 --exitfirst"
9
+ - PYTEST_COVERAGE=1
15
10
16
11
# setuptools-scm needs all tags in order to obtain a proper version
17
12
git :
@@ -22,113 +17,44 @@ install:
22
17
23
18
jobs :
24
19
include :
25
- # OSX tests - first (in test stage), since they are the slower ones.
26
- - &test-macos
27
- os : osx
28
- osx_image : xcode10.1
29
- language : generic
30
- # Coverage for:
31
- # - py2 with symlink in test_cmdline_python_package_symlink.
32
- env : TOXENV=py27-xdist PYTEST_COVERAGE=1
33
- before_install :
34
- - python -V
35
- - test $(python -c 'import sys; print("%d%d" % sys.version_info[0:2])') = 27
36
- - << : *test-macos
37
- env : TOXENV=py37-pexpect,py37-xdist PYTEST_COVERAGE=1
38
- before_install :
39
- - which python3
40
- - python3 -V
41
- - ln -sfn "$(which python3)" /usr/local/bin/python
42
- - python -V
43
- - test $(python -c 'import sys; print("%d%d" % sys.version_info[0:2])') = 37
44
-
45
- # Full run of latest (major) supported versions, without xdist.
46
- - env : TOXENV=py27
20
+ # Coverage for:
21
+ # - TestArgComplete (linux only)
22
+ # - numpy
23
+ # - verbose=0
24
+ - stage : baseline
25
+ env : TOXENV=py27-xdist
47
26
python : ' 2.7'
48
- - env : TOXENV=py37
49
- python : ' 3.7'
50
27
51
- # Coverage tracking is slow with pypy, skip it.
52
- - env : TOXENV=pypy-xdist
53
- python : ' pypy'
54
- - env : TOXENV=pypy3-xdist
55
- python : ' pypy3'
28
+ - env : TOXENV=py38-xdist
29
+ python : ' 3.8'
30
+
31
+ - stage : tests
32
+ # - _pytest.unittest._handle_skip (via pexpect).
33
+ env : TOXENV=py27-pexpect,py27-twisted
34
+ python : ' 2.7'
56
35
57
- - env : TOXENV=py34-xdist
58
- python : ' 3.4'
59
36
- env : TOXENV=py35-xdist
60
- python : ' 3.5'
37
+ python : ' 3.5.9 '
61
38
62
- # Coverage for:
63
- # - pytester's LsofFdLeakChecker
64
- # - TestArgComplete (linux only)
65
- # - numpy
66
- # Empty PYTEST_ADDOPTS to run this non-verbose.
67
- - env : TOXENV=py37-lsof-numpy-xdist PYTEST_COVERAGE=1 PYTEST_ADDOPTS=
39
+ - env : TOXENV=py36-xdist PYTEST_REORDER_TESTS=0
40
+ python : ' 3.6.9'
68
41
69
- # Specialized factors for py27.
70
- - env : TOXENV=py27-nobyte-numpy-xdist
71
- python : ' 2.7'
72
- - env : TOXENV=py27-pluggymaster-xdist
73
- python : ' 2.7'
42
+ - env : TOXENV=py37-numpy-pexpect-twisted
43
+ python : ' 3.7.4'
74
44
75
- # Specialized factors for py37.
76
- # Coverage for:
77
45
# - test_sys_breakpoint_interception (via pexpect).
78
- - env : TOXENV=py37-pexpect,py37-twisted PYTEST_COVERAGE=1
79
- - env : TOXENV=py37-pluggymaster-xdist
80
- - env : TOXENV=py37-freeze
46
+ - env : TOXENV=py37-pexpect,py37-twisted
47
+ python : ' 3.7.4'
81
48
82
- # Jobs only run via Travis cron jobs (currently daily).
83
- - env : TOXENV=py38-xdist
84
- python : ' 3.8-dev'
85
- if : type = cron
49
+ # Run also non-verbosely, to gain coverage
50
+ - env : TOXENV=py38-xdist PYTEST_ADDOPTS=""
51
+ python : ' 3.8'
86
52
87
- - stage : baseline
88
- # Coverage for:
89
- # - _pytest.unittest._handle_skip (via pexpect).
90
- env : TOXENV=py27-pexpect,py27-twisted PYTEST_COVERAGE=1
91
- python : ' 2.7'
92
- # Use py36 here for faster baseline.
93
- - env : TOXENV=py36-xdist
94
- python : ' 3.6'
95
- - env : TOXENV=linting,docs,doctesting PYTEST_COVERAGE=1
53
+ - env : TOXENV=linting,docs,doctesting
96
54
cache :
97
55
directories :
98
56
- $HOME/.cache/pre-commit
99
57
100
- - stage : deploy
101
- python : ' 3.6'
102
- install : pip install -U setuptools setuptools_scm tox
103
- script : skip
104
- # token to upload github release notes: GH_RELEASE_NOTES_TOKEN
105
- env :
106
- - secure : " OjOeL7/0JUDkV00SsTs732e8vQjHynpbG9FKTNtZZJ+1Zn4Cib+hAlwmlBnvVukML0X60YpcfjnC4quDOIGLPsh5zeXnvJmYtAIIUNQXjWz8NhcGYrhyzuP1rqV22U68RTCdmOq3lMYU/W2acwHP7T49PwJtOiUM5kF120UAQ0Zi5EmkqkIvH8oM5mO9Dlver+/U7Htpz9rhKrHBXQNCMZI6yj2aUyukqB2PN2fjAlDbCF//+FmvYw9NjT4GeFOSkTCf4ER9yfqs7yglRfwiLtOCZ2qKQhWZNsSJDB89rxIRXWavJUjJKeY2EW2/NkomYJDpqJLIF4JeFRw/HhA47CYPeo6BJqyyNV+0CovL1frpWfi9UQw2cMbgFUkUIUk3F6DD59PHNIOX2R/HX56dQsw7WKl3QuHlCOkICXYg8F7Ta684IoKjeTX03/6QNOkURfDBwfGszY0FpbxrjCSWKom6RyZdyidnESaxv9RzjcIRZVh1rp8KMrwS1OrwRSdG0zjlsPr49hWMenN/8fKgcHTV4/r1Tj6mip0dorSRCrgUNIeRBKgmui6FS8642ab5JNKOxMteVPVR2sFuhjOQ0Jy+PmvceYY9ZMWc3+/B/KVh0dZ3hwvLGZep/vxDS2PwCA5/xw31714vT5LxidKo8yECjBynMU/wUTTS695D3NY="
107
- addons :
108
- apt :
109
- packages :
110
- # required by publish_gh_release_notes
111
- - pandoc
112
- after_deploy : tox -e publish_gh_release_notes
113
- deploy :
114
- provider : pypi
115
- user : nicoddemus
116
- distributions : sdist bdist_wheel
117
- skip_upload_docs : true
118
- password :
119
- 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=
120
- on :
121
- tags : true
122
- repo : pytest-dev/pytest
123
-
124
- matrix :
125
- allow_failures :
126
- - python : ' 3.8-dev'
127
- env : TOXENV=py38-xdist
128
- # Temporary (https://github.com/pytest-dev/pytest/pull/5334).
129
- - env : TOXENV=pypy3-xdist
130
- python : ' pypy3'
131
-
132
58
before_script :
133
59
- |
134
60
# Do not (re-)upload coverage with cron runs.
@@ -142,27 +68,13 @@ before_script:
142
68
export _PYTEST_TOX_COVERAGE_RUN="coverage run -m"
143
69
export _PYTEST_TOX_EXTRA_DEP=coverage-enable-subprocess
144
70
fi
145
-
146
- script : tox
71
+ script : env COLUMNS=120 python -m tox
147
72
148
73
after_success :
149
74
- |
150
75
if [[ "$PYTEST_COVERAGE" = 1 ]]; then
151
- set -e
152
- # Add last TOXENV to $PATH.
153
- PATH="$PWD/.tox/${TOXENV##*,}/bin:$PATH"
154
- coverage combine
155
- coverage xml
156
- coverage report -m
157
- 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
76
+ env CODECOV_NAME="$TOXENV-$TRAVIS_OS_NAME" scripts/report-coverage.sh
158
77
fi
159
-
160
- notifications :
161
- irc :
162
- channels :
163
- - " chat.freenode.net#pytest"
164
- on_success : change
165
- on_failure : change
166
- skip_join : true
167
- email :
168
-
78
+ branches :
79
+ only :
80
+ - 4.6.x
0 commit comments