name: Unit Test CI

on:
    push:
        branches: [master]
    pull_request:
        branches: [master, 'dependabot/*']

jobs:
    test:
        runs-on: ubuntu-latest

        strategy:
            matrix:
                node-version: [12.x, 13.x, 14.x, 15.x, 16.x, 17.x]

        steps:
            - uses: actions/checkout@v2
            - name: Use Node.js ${{ matrix.node-version }}
              uses: actions/setup-node@v1
              with:
                  node-version: ${{ matrix.node-version }}
            - run: yarn
            - run: yarn build
            - run: yarn coverage
    
    coverage:
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v2
            - uses: actions/setup-node@v1
              with:
                  node-version: '16'
            - name: Install Dependencies
              run: yarn && yarn add codecov
            - name: Share Test Coverage
              run: yarn coverage && yarn codecov
