8
8
# py37 is not available in trusty dist, and requires sudo=true with xenial.
9
9
- stage : test
10
10
python : 3.7
11
- env : TOXENV=py37-dj21-sqlite
11
+ env : TOXENV=py37-dj21-sqlite-coverage
12
12
dist : xenial
13
13
sudo : true
14
14
15
15
- python : 3.6
16
- env : TOXENV=py36-djmaster-sqlite
16
+ env : TOXENV=py36-djmaster-sqlite-coverage
17
17
- python : 3.6
18
- env : TOXENV=py36-dj20-postgres
18
+ env : TOXENV=py36-dj20-postgres-coverage
19
19
- python : 3.6
20
- env : TOXENV=py36-dj111-sqlite
20
+ env : TOXENV=py36-dj111-sqlite-coverage
21
21
22
22
- python : 3.5
23
- env : TOXENV=py35-dj110-postgres
23
+ env : TOXENV=py35-dj110-postgres-coverage
24
24
25
25
- python : 3.4
26
- env : TOXENV=py34-dj19-sqlite_file
26
+ env : TOXENV=py34-dj19-sqlite_file-coverage
27
27
28
28
- python : 2.7
29
- env : TOXENV=py27-dj111-mysql_innodb
29
+ env : TOXENV=py27-dj111-mysql_innodb-coverage
30
30
- python : 2.7
31
- env : TOXENV=py27-dj111-mysql_myisam
31
+ env : TOXENV=py27-dj111-mysql_myisam-coverage
32
32
- python : 2.7
33
- env : TOXENV=py27-dj18-postgres
33
+ env : TOXENV=py27-dj18-postgres-coverage
34
34
35
35
# pypy/pypy3: not included with coverage reports (much slower then).
36
36
- python : pypy
37
- env : TOXENV=pypy-dj111-sqlite_file SKIP_COVERAGE=1
37
+ env : TOXENV=pypy-dj111-sqlite_file
38
38
- python : pypy3
39
- env : TOXENV=pypy3-dj110-sqlite SKIP_COVERAGE=1
39
+ env : TOXENV=pypy3-dj110-sqlite
40
40
41
41
- python : 3.6
42
- env : TOXENV=checkqa,docs SKIP_COVERAGE=1
42
+ env : TOXENV=checkqa,docs
43
43
44
44
- stage : test_release
45
45
python : 3.6
46
- env : TOXENV=py36-dj20-postgres SKIP_COVERAGE=1
46
+ env : TOXENV=py36-dj20-postgres
47
47
48
48
- stage : release
49
49
script : skip
@@ -61,43 +61,29 @@ jobs:
61
61
# NOTE: does not show up in "allowed failures" section, but is allowed to
62
62
# fail (for the "test" stage).
63
63
allow_failures :
64
- - env : TOXENV=py36-djmaster-sqlite
64
+ - env : TOXENV=py36-djmaster-sqlite-coverage
65
65
66
66
stages :
67
67
- name : test
68
68
if : tag IS NOT present
69
+
69
70
- name : test_release
70
71
if : tag IS present
71
72
- name : release
72
73
if : tag IS present
73
74
74
75
install :
75
76
- pip install tox==3.3.0
76
- - |
77
- # Setup coverage tracking.
78
- if [[ "$SKIP_COVERAGE" != "1" ]]; then
79
- PYTEST_DJANGO_COVERAGE=1
80
- export PYTEST_ADDOPTS='--cov=pytest_django --cov=tests --cov=pytest_django_test --cov-report=term-missing:skip-covered'
81
- export _PYTESTDJANGO_TOX_EXTRA_DEPS='pytest-cov==2.5.1'
82
- else
83
- PYTEST_DJANGO_COVERAGE=0
84
- fi
85
77
86
78
script :
87
79
- tox
88
80
89
81
after_success :
90
82
- |
91
83
set -ex
92
- if [[ "$PYTEST_DJANGO_COVERAGE" = 1 ]]; then
93
- pip install codecov
94
-
95
- coverage --version
96
- coverage combine
97
- coverage xml
98
-
99
- codecov_flags=${TOXENV//./}
100
- codecov_flags=${codecov_flags//-/ }
101
- codecov --required -X search gcov pycov -f coverage.xml --flags $codecov_flags
84
+ if [[ "${TOXENV%-coverage}" != "$TOXENV" ]]; then
85
+ codecov_flags=${TOXENV%-coverage}
86
+ codecov_flags=${codecov_flags//-/,}
87
+ bash <(curl -s https://codecov.io/bash) -Z -X gcov -X xcode -X gcovout -F "$codecov_flags"
102
88
fi
103
89
set +x
0 commit comments