.github/workflows/test.yml

Summary

Maintainability
Test Coverage
name: test

on:
  push:
    branches: [ main, dev ]
  pull_request:
    branches: [ main, dev ]

jobs:
  build:

    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [18.x, 19.x]
        # See supported Node.js release schedule at https://nodejs.org/en/about/releases/
    steps:
      - uses: actions/checkout@v2
      - name: Local Unit Test ${{ matrix.node-version }}
        uses: actions/setup-node@v1
        with:
          node-version: ${{ matrix.node-version }}
      - run: npm i
      - run: npm test
      - name: Generate Coverage
        if: ${{ success() && github.event_name != 'pull_request' && matrix.node-version == '19.x' }}
        run: npm run cov
      - name: Coveralls
        if: ${{ success() && github.event_name != 'pull_request' && matrix.node-version == '19.x' }}
        uses: coverallsapp/github-action@master
        with:
          path-to-lcov: ./coverage/lcov.info
          github-token: ${{ secrets.GITHUB_TOKEN }}