diff --git a/scripts/circle-metrics.sh b/scripts/circle-metrics.sh new file mode 100755 index 00000000000..849fc0e1339 --- /dev/null +++ b/scripts/circle-metrics.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +echo "Collecting code stats (typescript errors & more)" + +ERROR_COUNT="$(./node_modules/.bin/tsc --project tsconfig.json --noEmit --noImplicitAny true | grep -oP 'Found \K(\d+)')" +DIRECTIVES="$(grep -r -o directive public/app/**/* | wc -l)" +CONTROLLERS="$(grep -r -oP 'class .*Ctrl' public/app/**/* | wc -l)" + +echo "Typescript errors: $ERROR_COUNT" +echo "Directives: $DIRECTIVES" +echo "Controllers: $CONTROLLERS" + +curl \ + -d "{\"metrics\": { + \"ci.code.noImplicitAny\": $ERROR_COUNT, + \"ci.code.directives\": $DIRECTIVES, + \"ci.code.controllers\": $CONTROLLERS + } + }" \ + -H "Content-Type: application/json" \ + -u ci:$CIRCLE_STATS_PWD \ + -X POST https://stats.grafana.org/metric-receiver + diff --git a/scripts/circle-test-frontend.sh b/scripts/circle-test-frontend.sh index cd42dd0b7e9..3366bf3d4fb 100755 --- a/scripts/circle-test-frontend.sh +++ b/scripts/circle-test-frontend.sh @@ -12,3 +12,9 @@ function exit_if_fail { exit_if_fail npm run prettier:check exit_if_fail npm run test + +# On master also collect some and send some metrics +branch="$(git rev-parse --abbrev-ref HEAD)" +if [ "${branch}" == "master" ]; then + exit_if_fail ./scripts/circle-metrics.sh +fi