jkroepke/featurebook-js

View on GitHub
.github/workflows/codeclimate.yml

Summary

Maintainability
Test Coverage
name: CI coverage

on:
  push:
    branches:
      - master

jobs:
  codeclimate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: Setup cache
        uses: actions/cache@v1
        with:
          path: ~/.npm
          key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
          restore-keys: |
            ${{ runner.os }}-node-
      - name: Setup node
        uses: actions/setup-node@v1
        with:
          node-version: 12
      - run: npm ci
      - run: npx lerna bootstrap
      - run: npx lerna run coverage
      - name: codeclimate
        run: |
          curl -fsSL https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
          chmod +x ./cc-test-reporter
          for f in packages/*; do
            if [ -f $f/coverage/lcov.info ]; then
              echo "$f"
              sed -i "s!SF:!SF:$f/!g" "$f/coverage/lcov.info"
              ./cc-test-reporter format-coverage -t lcov -o "coverage/coverage.${f//\//-}.json" "$f/coverage/lcov.info"
            fi
          done;
          ./cc-test-reporter sum-coverage -o coverage/coverage.total.json coverage/coverage.*.json;
          ./cc-test-reporter upload-coverage -i coverage/coverage.total.json;
        env:
          CC_TEST_REPORTER_ID: 18908f02e2f04c41f84ac447800fdca9a1fae3a15ba319228a4484408d827111