cityssm/node-web-browser-info

View on GitHub
.github/workflows/coverage.yml

Summary

Maintainability
Test Coverage
name: Coverage Testing

on: [workflow_dispatch, push, pull_request]

permissions: read-all

jobs:
  Coverage-on-Ubuntu:
    runs-on: ubuntu-latest
    env:
      CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
      CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
      DEEPSOURCE_DSN: ${{ secrets.DEEPSOURCE_DSN }}

    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '20'

      - name: Install Application
        run: |
          npm ci
          npm install -g mocha c8

      - name: Run Coverage Testing
        run: npm run coverage

      - name: Code Climate
        if: ${{ github.event_name != 'pull_request' && env.CC_TEST_REPORTER_ID != '' }}
        run: |
          curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./codeclimate-test-reporter
          chmod +x codeclimate-test-reporter
          ./codeclimate-test-reporter before-build
          ./codeclimate-test-reporter after-build -t lcov --exit-code $?

      - name: Codecov
        if: ${{ github.event_name != 'pull_request' && env.CODECOV_TOKEN != '' }}
        run: |
          curl -Os https://uploader.codecov.io/latest/linux/codecov
          chmod +x codecov
          ./codecov -t ${CODECOV_TOKEN}

      - name: DeepSource
        if: ${{ github.event_name != 'pull_request' && env.DEEPSOURCE_DSN != '' }}
        run: |
          # Install deepsource CLI
          curl https://deepsource.io/cli | sh

          # From the root directory, run the report coverage command
          ./bin/deepsource report --analyzer test-coverage --key javascript --value-file ./coverage/lcov.info

  Testing-on-Windows:
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '20'

      - name: Install Application
        run: |
          npm ci
          npm install -g mocha c8

      - name: Run Coverage Testing
        run: npm run coverage

  Testing-on-MacOS:
    runs-on: macos-12
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '20'

      - name: Install Application
        run: |
          npm ci
          npm install -g mocha c8

      - name: Run Coverage Testing
        run: npm run coverage