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"
 | 
						|
 |