Put update_coverage commands in the script called by tox

This commit is contained in:
Valentin Samir 2016-09-09 14:52:52 +02:00
parent 09e9b20c5b
commit ebfac168a2
2 changed files with 43 additions and 3 deletions

37
.update_coverage Executable file
View File

@ -0,0 +1,37 @@
#!/bin/bash
BASEDIR="$1"
PROJECT_NAME="$2"
cd "$BASEDIR/htmlcov/"; tar czf "$BASEDIR/coverage.tar.gz" ./
cd "$BASEDIR"
# build by gitlab CI
if [ -n "$CI_BUILD_REF_NAME" ]; then
BRANCH="$CI_BUILD_REF_NAME"
# build by travis
elif [ -n "$TRAVIS_BRANCH" ]; then
# if this a pull request ?
if [[ "$TRAVIS_PULL_REQUEST" != "false" ]]; then
BRANCH="pull-request-$TRAVIS_PULL_REQUEST"
else
BRANCH="$TRAVIS_BRANCH"
fi
else
BRANCH="$(git rev-parse --abbrev-ref HEAD)"
fi
if [[ "$BRANCH" = "HEAD" ]] || [ -z "$BRANCH" ]; then
echo "bad branch name '$BRANCH', ignoring it"
exit 0
fi
curl https://badges.genua.fr/local/coverage/ \
-F "secret=$COVERAGE_TOKEN" \
-F "tar=@$BASEDIR/coverage.tar.gz" \
-F "project=$PROJECT_NAME" \
-F "branch=$BRANCH"
rm "$BASEDIR/coverage.tar.gz"

View File

@ -128,14 +128,17 @@ whitelist_externals={[post_cmd]whitelist_externals}
[testenv:coverage] [testenv:coverage]
basepython=python basepython=python
passenv=COVERAGE_TOKEN passenv=
COVERAGE_TOKEN
CI_BUILD_REF_NAME
TRAVIS_BRANCH
TRAVIS_PULL_REQUEST
deps= deps=
-r{toxinidir}/requirements.txt -r{toxinidir}/requirements.txt
-r{toxinidir}/requirements-dev.txt -r{toxinidir}/requirements-dev.txt
skip_install=True skip_install=True
commands= commands=
py.test --cov=cas_server --cov-report term --cov-report html py.test --cov=cas_server --cov-report term --cov-report html
bash -c 'cd {toxinidir}/htmlcov/; tar czf {toxinidir}/coverage.tar.gz ./' {toxinidir}/.update_coverage "{toxinidir}" "django-cas-server"
bash -c 'curl -F "secret=$COVERAGE_TOKEN" -F "tar=@{toxinidir}/coverage.tar.gz" -F "project=django-cas-server" -F "branch=$(git rev-parse --abbrev-ref HEAD)" https://badges.genua.fr/local/coverage/; rm {toxinidir}/coverage.tar.gz'
{[post_cmd]commands} {[post_cmd]commands}
whitelist_externals={[post_cmd]whitelist_externals} whitelist_externals={[post_cmd]whitelist_externals}