Permalink
Switch branches/tags
v2.2.0-alpha.00000000 v2.1.0-beta.20181015 v2.1.0-beta.20181008 v2.1.0-beta.20181001 v2.1.0-beta.20180924 v2.1.0-beta.20180917 v2.1.0-beta.20180910 v2.1.0-beta.20180904 v2.1.0-beta.20180827 v2.1.0-alpha.20180730 v2.1.0-alpha.20180702 v2.1.0-alpha.20180604 v2.1.0-alpha.20180507 v2.1.0-alpha.20180416 v2.1.0-alpha.00000000 v2.0.6 v2.0.6-rc.1 v2.0.5 v2.0.4 v2.0.3 v2.0.2 v2.0.1 v2.0.0 v2.0-rc.1 v2.0-beta.20180326 v2.0-beta.20180319 v2.0-beta.20180312 v2.0-beta.20180305 v2.0-alpha.20180212 v2.0-alpha.20180129 v2.0-alpha.20180122 v2.0-alpha.20180116 v2.0-alpha.20171218 v2.0-alpha.20171218-plus-left-join-fix v1.2-alpha.20171211 v1.2-alpha.20171204 v1.2-alpha.20171113 v1.2-alpha.20171026 v1.2-alpha.20170901 v1.1.9 v1.1.9-rc.1 v1.1.8 v1.1.7 v1.1.6 v1.1.5 v1.1.4 v1.1.3 v1.1.2 v1.1.1 v1.1.0 v1.1.0-rc.1 v1.1-beta.20170928 v1.1-beta.20170921 v1.1-beta.20170907 v1.1-alpha.20170817 v1.1-alpha.20170810 v1.1-alpha.20170803 v1.1-alpha.20170720 v1.1-alpha.20170713 v1.1-alpha.20170629 v1.1-alpha.20170622 v1.1-alpha.20170608 v1.1-alpha.20170601 v1.0.7 v1.0.6 v1.0.5 v1.0.4 v1.0.3 v1.0.2 v1.0.1 v1.0 v1.0-rc.3 v1.0-rc.2 v1.0-rc.1 v0.1-alpha beta-20170420 beta-20170413 beta-20170406 beta-20170330 beta-20170323 beta-20170309 beta-20170223 beta-20170216 beta-20170209 beta-20170126 beta-20170112 beta-20170105 beta-20161215 beta-20161208 beta-20161201 beta-20161110 beta-20161103 beta-20161027 beta-20161013 beta-20161006 beta-20160929 beta-20160915 beta-20160908 beta-20160829 beta-20160728
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
executable file 53 lines (41 sloc) 1.69 KB
#!/usr/bin/env bash
set -euxo pipefail
if [ -z "${COVERALLS_TOKEN-}" ]; then
echo "FAIL: Missing or empty COVERALLS_TOKEN."
exit 1
fi
if [ -z "${CODECOV_TOKEN-}" ]; then
echo "FAIL: Missing or empty CODECOV_TOKEN."
exit 1
fi
prefix=github.com/cockroachdb/cockroach/pkg
coverage_dir=coverage
coverage_profile=$coverage_dir/coverage.out
trap "rm -rf $coverage_dir" EXIT
rm -rf $coverage_dir
mkdir -p $coverage_dir
# Run coverage on each package, because go test "cannot use test profile flag
# with multiple packages". See https://github.com/golang/go/issues/6909.
for pkg in $(go list $prefix/...); do
# Only generate coverage for cockroach dependencies.
#
# Note that grep's exit status is ignored here to allow for packages with no
# dependencies.
coverpkg=$(go list -f '{{join .Imports "\n"}}{{"\n"}}{{join .TestImports "\n"}}{{"\n"}}{{join .XTestImports "\n"}}' $pkg | \
sort -u | grep -v '^C$' | \
xargs go list -f '{{if not .Standard}}{{join .Deps "\n" }}{{end}}' | \
sort -u | grep -v '^C$' | \
xargs go list -f '{{if not .Standard}}{{.ImportPath}}{{end}}' | \
grep $prefix || true)
time make test PKG="$pkg" TESTFLAGS="-coverpkg=${coverpkg//$'\n'/,} -coverprofile=${coverage_dir}/${pkg//\//-}.cover -covermode=count"
done
# Merge coverage profiles and remove lines that match our ignore filter.
gocovmerge $coverage_dir/*.cover | \
grep -vE "$prefix/(acceptance|cmd|ui/embedded|bench|.*\.pb(\.gw)?\.go)" > $coverage_profile
# Upload profiles to coveralls.io.
goveralls \
-coverprofile=$coverage_profile \
-service=teamcity \
-repotoken="$COVERALLS_TOKEN"
# Upload profiles to codecov.io. Uses CODECOV_TOKEN.
bash <(curl -s https://codecov.io/bash) -f $coverage_profile