88 # py37 is not available in trusty dist, and requires sudo=true with xenial.
99 - stage : test
1010 python : 3.7
11- env : TOXENV=py37-dj21-sqlite
11+ env : TOXENV=py37-dj21-sqlite-coverage
1212 dist : xenial
1313 sudo : true
1414
1515 - python : 3.6
16- env : TOXENV=py36-djmaster-sqlite
16+ env : TOXENV=py36-djmaster-sqlite-coverage
1717 - python : 3.6
18- env : TOXENV=py36-dj20-postgres
18+ env : TOXENV=py36-dj20-postgres-coverage
1919 - python : 3.6
20- env : TOXENV=py36-dj111-sqlite
20+ env : TOXENV=py36-dj111-sqlite-coverage
2121
2222 - python : 3.5
23- env : TOXENV=py35-dj110-postgres
23+ env : TOXENV=py35-dj110-postgres-coverage
2424
2525 - python : 3.4
26- env : TOXENV=py34-dj19-sqlite_file
26+ env : TOXENV=py34-dj19-sqlite_file-coverage
2727
2828 - python : 2.7
29- env : TOXENV=py27-dj111-mysql_innodb
29+ env : TOXENV=py27-dj111-mysql_innodb-coverage
3030 - python : 2.7
31- env : TOXENV=py27-dj111-mysql_myisam
31+ env : TOXENV=py27-dj111-mysql_myisam-coverage
3232 - python : 2.7
33- env : TOXENV=py27-dj18-postgres
33+ env : TOXENV=py27-dj18-postgres-coverage
3434
3535 # pypy/pypy3: not included with coverage reports (much slower then).
3636 - python : pypy
37- env : TOXENV=pypy-dj111-sqlite_file SKIP_COVERAGE=1
37+ env : TOXENV=pypy-dj111-sqlite_file
3838 - python : pypy3
39- env : TOXENV=pypy3-dj110-sqlite SKIP_COVERAGE=1
39+ env : TOXENV=pypy3-dj110-sqlite
4040
4141 - python : 3.6
42- env : TOXENV=checkqa,docs SKIP_COVERAGE=1
42+ env : TOXENV=checkqa,docs
4343
4444 - stage : test_release
4545 python : 3.6
46- env : TOXENV=py36-dj20-postgres SKIP_COVERAGE=1
46+ env : TOXENV=py36-dj20-postgres
4747
4848 - stage : release
4949 script : skip
@@ -61,43 +61,29 @@ jobs:
6161 # NOTE: does not show up in "allowed failures" section, but is allowed to
6262 # fail (for the "test" stage).
6363 allow_failures :
64- - env : TOXENV=py36-djmaster-sqlite
64+ - env : TOXENV=py36-djmaster-sqlite-coverage
6565
6666stages :
6767 - name : test
6868 if : tag IS NOT present
69+
6970 - name : test_release
7071 if : tag IS present
7172 - name : release
7273 if : tag IS present
7374
7475install :
7576 - 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
8577
8678script :
8779 - tox
8880
8981after_success :
9082 - |
9183 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"
10288 fi
10389 set +x
0 commit comments