59 lines
1.3 KiB
Bash
Executable File
59 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
set -x
|
|
set -e
|
|
BASEDIR="$(realpath "$1")"
|
|
PROJECT_NAME="$2"
|
|
|
|
TITLE="Coverage report of $PROJECT_NAME"
|
|
|
|
# build by gitlab CI
|
|
if [ -n "$CI_BUILD_REF_NAME" ]; then
|
|
BRANCH="$CI_BUILD_REF_NAME"
|
|
TITLE="$TITLE, $BRANCH branch"
|
|
# 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"
|
|
TITLE="$TITLE, pull request n°$BRANCH"
|
|
else
|
|
BRANCH="$TRAVIS_BRANCH"
|
|
TITLE="$TITLE, $BRANCH branch"
|
|
fi
|
|
else
|
|
BRANCH="$(git rev-parse --abbrev-ref HEAD)"
|
|
TITLE="$TITLE, $BRANCH branch"
|
|
fi
|
|
|
|
if [[ "$BRANCH" = "HEAD" ]] || [ -z "$BRANCH" ]; then
|
|
echo "bad branch name '$BRANCH', ignoring it"
|
|
exit 0
|
|
fi
|
|
|
|
|
|
VENV="$(mktemp -d)"
|
|
HTMLREPORT="$(mktemp -d)"
|
|
virtualenv -p python3 "$VENV"
|
|
"$VENV/bin/pip" install coverage
|
|
"$VENV/bin/coverage" html --title "$TITLE" --directory "$HTMLREPORT"
|
|
rm -rf "$VENV"
|
|
|
|
|
|
cd "$HTMLREPORT"; tar czf "$BASEDIR/coverage.tar.gz" ./
|
|
|
|
cd "$BASEDIR"
|
|
|
|
rm -rf "$HTMLREPORT"
|
|
|
|
set +x
|
|
echo "curl https://badges.genua.fr/coverage/ ..."
|
|
curl https://badges.genua.fr/coverage/ \
|
|
-F "secret=$COVERAGE_TOKEN" \
|
|
-F "tar=@$BASEDIR/coverage.tar.gz" \
|
|
-F "project=$PROJECT_NAME" \
|
|
-F "branch=$BRANCH"
|
|
|
|
set -x
|
|
rm "$BASEDIR/coverage.tar.gz"
|
|
|