ci: move coverage reporting to shared script
This commit is contained in:
parent
9f8b566ea9
commit
0fd1f3038c
|
@ -114,13 +114,7 @@ script: tox
|
||||||
after_success:
|
after_success:
|
||||||
- |
|
- |
|
||||||
if [[ "$PYTEST_COVERAGE" = 1 ]]; then
|
if [[ "$PYTEST_COVERAGE" = 1 ]]; then
|
||||||
set -e
|
env CODECOV_NAME="$TOXENV-$TRAVIS_OS_NAME" scripts/report-coverage.sh
|
||||||
# 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
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
notifications:
|
notifications:
|
||||||
|
|
|
@ -4,8 +4,6 @@ trigger:
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
PYTEST_ADDOPTS: "--junitxml=build/test-results/$(tox.env).xml -vv"
|
PYTEST_ADDOPTS: "--junitxml=build/test-results/$(tox.env).xml -vv"
|
||||||
COVERAGE_FILE: "$(Build.Repository.LocalPath)/.coverage"
|
|
||||||
COVERAGE_PROCESS_START: "$(Build.Repository.LocalPath)/.coveragerc"
|
|
||||||
PYTEST_COVERAGE: '0'
|
PYTEST_COVERAGE: '0'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
@ -55,8 +53,13 @@ jobs:
|
||||||
- script: python -m pip install --upgrade pip && python -m pip install tox
|
- script: python -m pip install --upgrade pip && python -m pip install tox
|
||||||
displayName: 'Install tox'
|
displayName: 'Install tox'
|
||||||
|
|
||||||
- script: |
|
- bash: |
|
||||||
call scripts/setup-coverage-vars.bat || goto :eof
|
if [[ "$PYTEST_COVERAGE" == "1" ]]; then
|
||||||
|
export _PYTEST_TOX_COVERAGE_RUN="coverage run -m"
|
||||||
|
export _PYTEST_TOX_EXTRA_DEP=coverage-enable-subprocess
|
||||||
|
export COVERAGE_FILE="$PWD/.coverage"
|
||||||
|
export COVERAGE_PROCESS_START="$PWD/.coveragerc"
|
||||||
|
fi
|
||||||
python -m tox -e $(tox.env)
|
python -m tox -e $(tox.env)
|
||||||
displayName: 'Run tests'
|
displayName: 'Run tests'
|
||||||
|
|
||||||
|
@ -66,9 +69,12 @@ jobs:
|
||||||
testRunTitle: '$(tox.env)'
|
testRunTitle: '$(tox.env)'
|
||||||
condition: succeededOrFailed()
|
condition: succeededOrFailed()
|
||||||
|
|
||||||
- script: call scripts\upload-coverage.bat
|
- bash: |
|
||||||
displayName: 'Report and upload coverage'
|
if [[ "$PYTEST_COVERAGE" == 1 ]]; then
|
||||||
condition: eq(variables['PYTEST_COVERAGE'], '1')
|
scripts/report-coverage.sh
|
||||||
|
fi
|
||||||
env:
|
env:
|
||||||
|
CODECOV_NAME: $(tox.env)
|
||||||
CODECOV_TOKEN: $(CODECOV_TOKEN)
|
CODECOV_TOKEN: $(CODECOV_TOKEN)
|
||||||
PYTEST_CODECOV_NAME: $(tox.env)
|
displayName: Report and upload coverage
|
||||||
|
condition: eq(variables['PYTEST_COVERAGE'], '1')
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
|
||||||
|
if [ -z "$TOXENV" ]; then
|
||||||
|
python -m pip install coverage
|
||||||
|
else
|
||||||
|
# Add last TOXENV to $PATH.
|
||||||
|
PATH="$PWD/.tox/${TOXENV##*,}/bin:$PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
python -m coverage combine
|
||||||
|
python -m coverage xml
|
||||||
|
python -m 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
|
|
@ -1,7 +0,0 @@
|
||||||
if "%PYTEST_COVERAGE%" == "1" (
|
|
||||||
set "_PYTEST_TOX_COVERAGE_RUN=coverage run -m"
|
|
||||||
set "_PYTEST_TOX_EXTRA_DEP=coverage-enable-subprocess"
|
|
||||||
echo Coverage vars configured, PYTEST_COVERAGE=%PYTEST_COVERAGE%
|
|
||||||
) else (
|
|
||||||
echo Skipping coverage vars setup, PYTEST_COVERAGE=%PYTEST_COVERAGE%
|
|
||||||
)
|
|
|
@ -1,16 +0,0 @@
|
||||||
REM script called by Azure to combine and upload coverage information to codecov
|
|
||||||
if "%PYTEST_COVERAGE%" == "1" (
|
|
||||||
echo Prepare to upload coverage information
|
|
||||||
if defined CODECOV_TOKEN (
|
|
||||||
echo CODECOV_TOKEN defined
|
|
||||||
) else (
|
|
||||||
echo CODECOV_TOKEN NOT defined
|
|
||||||
)
|
|
||||||
python -m pip install codecov
|
|
||||||
python -m coverage combine
|
|
||||||
python -m coverage xml
|
|
||||||
python -m coverage report -m
|
|
||||||
scripts\retry python -m codecov --required -X gcov pycov search -f coverage.xml --name %PYTEST_CODECOV_NAME%
|
|
||||||
) else (
|
|
||||||
echo Skipping coverage upload, PYTEST_COVERAGE=%PYTEST_COVERAGE%
|
|
||||||
)
|
|
Loading…
Reference in New Issue