name: Node CI

on:
    push:
        branches:
            - main
    pull_request:
        branches:
            - main

jobs:
    test:
        runs-on: ubuntu-latest

        strategy:
            matrix:
                node:
                    - 10.x
                    - 12.x
                    - 14.x
                    - 15.x

        steps:
            - uses: actions/checkout@v2

            - uses: actions/checkout@v2
            - name: Use Node.js ${{ matrix.node }}
              uses: actions/setup-node@v1
              with:
                  node-version: ${{ matrix.node }}

            - name: Install dependencies
              run: make install

            - name: Run unit tests
              run: make test-coverage

            - name: Coveralls Parallel
              uses: coverallsapp/github-action@master
              with:
                  github-token: ${{ secrets.github_token }}
                  flag-name: run-${{ matrix.deno }}
                  parallel: true

    finish:
        needs: test
        runs-on: ubuntu-latest
        steps:
            - name: Coveralls Finished
              uses: coverallsapp/github-action@master
              with:
                  github-token: ${{ secrets.github_token }}
                  parallel-finished: true
