improve cloud code coverage configuration

- separate coverage preparation and publishing
- add coverage publishing to circle macOS builders
- add publishing to coveralls, which might actually be the good one now
This commit is contained in:
Glyph 2019-04-12 21:18:26 -07:00
parent 24e48fc359
commit db06d70e6c
5 changed files with 38 additions and 19 deletions

View File

@ -148,6 +148,11 @@ jobs:
command: |
tox -r -e py27-alldeps-withcov-posix twisted
- run:
name: Upload coverage.
command: |
tox -r -e coverage-prepare,codecov-publish,coveralls-publish
#
# MacOS with Python3.7 and default reactor.
#
@ -175,6 +180,11 @@ jobs:
command: |
tox -r -e py37-alldeps-withcov-posix twisted
- run:
name: Upload coverage.
command: |
tox -r -e coverage-prepare,codecov-publish,coveralls-publish
# First we run the static checkers, and only if they pass we spin the macOS.
# in this way we should save some macOS minutes as we only have 1000h per month.

View File

@ -27,23 +27,23 @@ matrix:
- docker
env: PIP=pip TOXENV=wheels
- python: 2.7
env: TOXENV=py27-alldeps-withcov-posix,codecov-publish
env: TOXENV=py27-alldeps-withcov-posix,coverage-prepare,codecov-publish,coveralls-publish
- python: 2.7
env: TOXENV=py27-nodeps-withcov-posix,codecov-publish
env: TOXENV=py27-nodeps-withcov-posix,coverage-prepare,codecov-publish,coveralls-publish
- python: 3.4
env: TOXENV=py34-alldeps-withcov-posix,codecov-publish
env: TOXENV=py34-alldeps-withcov-posix,coverage-prepare,codecov-publish,coveralls-publish
- python: 3.5
env: TOXENV=py35-alldeps-withcov-posix,codecov-publish
env: TOXENV=py35-alldeps-withcov-posix,coverage-prepare,codecov-publish,coveralls-publish
- python: 3.6
env: TOXENV=py36-alldeps-withcov-posix,codecov-publish
env: TOXENV=py36-alldeps-withcov-posix,coverage-prepare,codecov-publish,coveralls-publish
- python: 3.7
env: TOXENV=py37-alldeps-withcov-posix,codecov-publish
env: TOXENV=py37-alldeps-withcov-posix,coverage-prepare,codecov-publish,coveralls-publish
- python: 3.5
env: TOXENV=lint
# We need a builder without IPv6. This is going to be slower than all the
# others, but that's ok.
- python: 3.6
env: TOXENV=py36-alldeps-withcov-posix,codecov-publish DISABLE_IPV6=yes
env: TOXENV=py36-alldeps-withcov-posix,coverage-prepare,codecov-publish,coveralls-publish DISABLE_IPV6=yes
addons:
apt:

View File

@ -6,7 +6,7 @@ if [[ "$(uname -s)" == "Darwin" ]]; then
# Initialize the virtualenv created at install time.
source ~/.venv/bin/activate
if [[ "${TOXENV}" == "py35-alldeps-withcov-macos,codecov-publish" ]]; then
if [[ "${TOXENV}" =~ py35-.* ]]; then
# Add pyenv path
PYENV_ROOT="$HOME/.pyenv";
PATH="$PYENV_ROOT/bin:$PATH";

View File

@ -42,39 +42,39 @@ environment:
- PYTHON_HOME: C:\\Python27-x64
PYTHON_VERSION: "2.7"
PYTHON_ARCH: "64"
TOXENV: py27-alldeps-withcov-windows,codecov-publish
TOXENV: py27-alldeps-withcov-windows,coverage-prepare,codecov-publish,coveralls-publish
TWISTED_REACTOR: "select"
- PYTHON_HOME: C:\\PYTHON36-x64
PYTHON_VERSION: "3.6"
PYTHON_ARCH: "64"
TOXENV: py36-alldeps-withcov-windows,codecov-publish
TOXENV: py36-alldeps-withcov-windows,coverage-prepare,codecov-publish,coveralls-publish
TWISTED_REACTOR: "select"
- PYTHON_HOME: C:\\PYTHON37-x64
PYTHON_VERSION: "3.7"
PYTHON_ARCH: "64"
TOXENV: py37-alldeps-withcov-windows,codecov-publish
TOXENV: py37-alldeps-withcov-windows,coverage-prepare,codecov-publish,coveralls-publish
TWISTED_REACTOR: "select"
- PYTHON_HOME: C:\\PYTHON37-x64
PYTHON_VERSION: "3.7"
PYTHON_ARCH: "64"
TOXENV: py37-nodeps-withcov-windows,codecov-publish
TOXENV: py37-nodeps-withcov-windows,coverage-prepare,codecov-publish,coveralls-publish
TWISTED_REACTOR: "select"
# IOCPReactor tests
- PYTHON_HOME: C:\\Python27-x64
PYTHON_VERSION: "2.7"
PYTHON_ARCH: "64"
TOXENV: py27-alldeps-withcov-windows,codecov-publish
TOXENV: py27-alldeps-withcov-windows,coverage-prepare,codecov-publish,coveralls-publish
TWISTED_REACTOR: "iocp"
- PYTHON_HOME: C:\\PYTHON36-x64
PYTHON_VERSION: "3.6"
PYTHON_ARCH: "64"
TOXENV: py36-alldeps-withcov-windows,codecov-publish
TOXENV: py36-alldeps-withcov-windows,coverage-prepare,codecov-publish,coveralls-publish
TWISTED_REACTOR: "iocp"
- PYTHON_HOME: C:\\PYTHON37-x64
PYTHON_VERSION: "3.7"
PYTHON_ARCH: "64"
TOXENV: py37-alldeps-withcov-windows,codecov-publish
TOXENV: py37-alldeps-withcov-windows,coverage-prepare,codecov-publish,coveralls-publish
TWISTED_REACTOR: "iocp"

17
tox.ini
View File

@ -52,7 +52,11 @@ deps =
{withcov,coverage}: coverage
codecov-publish: codecov==2.0.5
coverage-prepare: coverage
codecov-publish: codecov
coveralls-publish: coveralls
wheel: wheel
@ -106,11 +110,16 @@ commands =
{withcov,coverage}: coverage erase
{withcov,coverage}: coverage run -p --rcfile={toxinidir}/.coveragerc -m twisted.trial --reactor={env:TWISTED_REACTOR:default} --reporter={env:TRIAL_REPORTER:verbose} {posargs:twisted}
; Publish the coverage reports to codecov.io
codecov-publish: coverage combine
codecov-publish: coverage xml -o coverage.xml -i
; Prepare coverage reports for publication.
coverage-prepare: coverage combine
coverage-prepare: coverage xml -o coverage.xml -i
; Publish coverage reports to codecov.
codecov-publish: codecov {env:CODECOV_OPTIONS:} -X search -X gcov -f coverage.xml
; Publish coverage reports to coveralls.
coveralls-publish: coveralls
; Build in a root folder so that buildbot can pick the result
wheel: python setup.py bdist_wheel --dist-dir {toxinidir}/dist