#!/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"