ci-frontend-metrics.sh 938 B

1234567891011121314151617181920212223242526272829303132
  1. #!/bin/bash
  2. echo -e "Collecting code stats (typescript errors & more)"
  3. ERROR_COUNT="$(./node_modules/.bin/tsc --project tsconfig.json --noEmit --noImplicitAny true | grep -oP 'Found \K(\d+)')"
  4. DIRECTIVES="$(grep -r -o directive public/app/**/* | wc -l)"
  5. CONTROLLERS="$(grep -r -oP 'class .*Ctrl' public/app/**/* | wc -l)"
  6. echo -e "Typescript errors: $ERROR_COUNT"
  7. echo -e "Directives: $DIRECTIVES"
  8. echo -e "Controllers: $CONTROLLERS"
  9. curl \
  10. -d "{\"metrics\": {
  11. \"ci.code.noImplicitAny\": $ERROR_COUNT,
  12. \"ci.code.directives\": $DIRECTIVES,
  13. \"ci.code.controllers\": $CONTROLLERS
  14. }
  15. }" \
  16. -H "Content-Type: application/json" \
  17. -u ci:$CIRCLE_STATS_PWD \
  18. -X POST https://stats.grafana.org/metric-receiver
  19. echo -e ""
  20. ./scripts/ci-metrics-publisher.sh \
  21. grafana.ci-code.noImplicitAny=$ERROR_COUNT \
  22. grafana.ci-code.directives=$DIRECTIVES \
  23. grafana.ci-code.controllers=$CONTROLLERS \