mirror of https://github.com/helm/helm.git
feat(ci): setup test coverage reports with coveralls.io
This commit is contained in:
parent
b080e944d5
commit
ebffaadba7
|
|
@ -22,13 +22,22 @@ IFS=$'\n\t'
|
|||
HELM_ROOT="${BASH_SOURCE[0]%/*}/.."
|
||||
cd "$HELM_ROOT"
|
||||
|
||||
case "${CIRCLE_NODE_INDEX-0}" in
|
||||
0)
|
||||
echo "Running 'make test-unit'"
|
||||
run_unit_test() {
|
||||
if [[ "${CIRCLE_BRANCH-}" == "master" ]]; then
|
||||
echo "Running unit tests with coverage'"
|
||||
./scripts/coverage.sh --coveralls
|
||||
else
|
||||
echo "Running unit tests'"
|
||||
make test-unit
|
||||
;;
|
||||
1)
|
||||
echo "Running 'make test-style'"
|
||||
make test-style
|
||||
;;
|
||||
fi
|
||||
}
|
||||
|
||||
run_style_check() {
|
||||
echo "Running 'make test-style'"
|
||||
make test-style
|
||||
}
|
||||
|
||||
case "${CIRCLE_NODE_INDEX-0}" in
|
||||
0) run_unit_test ;;
|
||||
1) run_style_check ;;
|
||||
esac
|
||||
|
|
|
|||
|
|
@ -16,22 +16,35 @@
|
|||
|
||||
set -euo pipefail
|
||||
|
||||
COVERDIR=${COVERDIR:-.coverage}
|
||||
COVERMODE=${COVERMODE:-atomic}
|
||||
PACKAGES=($(go list $(glide novendor)))
|
||||
covermode=${COVERMODE:-atomic}
|
||||
coverdir=$(mktemp -d /tmp/coverage.XXXXXXXXXX)
|
||||
profile="${coverdir}/cover.out"
|
||||
|
||||
if [[ ! -d "$COVERDIR" ]]; then
|
||||
mkdir -p "$COVERDIR"
|
||||
fi
|
||||
hash goveralls 2>/dev/null || go get github.com/mattn/goveralls
|
||||
|
||||
echo "mode: ${COVERMODE}" > "${COVERDIR}/coverage.out"
|
||||
generate_cover_data() {
|
||||
for d in $(godir) ; do
|
||||
local output="${coverdir}/${d//\//-}.cover"
|
||||
go test -coverprofile="${output}" -covermode="$covermode" "$d"
|
||||
done
|
||||
|
||||
for d in "${PACKAGES[@]}"; do
|
||||
go test -coverprofile=profile.out -covermode="$COVERMODE" "$d"
|
||||
if [ -f profile.out ]; then
|
||||
sed "/mode: $COVERMODE/d" profile.out >> "${COVERDIR}/coverage.out"
|
||||
rm profile.out
|
||||
fi
|
||||
done
|
||||
echo "mode: $covermode" >"$profile"
|
||||
grep -h -v "^mode:" "$coverdir"/*.cover >>"$profile"
|
||||
}
|
||||
|
||||
push_to_coveralls() {
|
||||
goveralls -coverprofile="${profile}" -service=circle-ci
|
||||
}
|
||||
|
||||
generate_cover_data
|
||||
go tool cover -func "${profile}"
|
||||
|
||||
case "$1" in
|
||||
--html)
|
||||
go tool cover -html "${profile}"
|
||||
;;
|
||||
--coveralls)
|
||||
push_to_coveralls
|
||||
;;
|
||||
esac
|
||||
|
||||
go tool cover -html "${COVERDIR}/coverage.out" -o "${COVERDIR}/coverage.html"
|
||||
|
|
|
|||
Loading…
Reference in New Issue