# GitHub actions
# https://docs.github.com/en/free-pro-team@latest/actions

name: ci-test

on: [push, pull_request]

jobs:
  test:

    runs-on: ubuntu-22.04

    strategy:
      matrix:
        node_version: [14.x, 15.x, 16.x, 17.x, 18.x, 19.x]

    steps:
    - uses: actions/checkout@v2

    - name: setup Node.js v${{ matrix.node_version }}
      uses: actions/setup-node@v2
      with:
        node-version: ${{ matrix.node_version }}

    - name: run npm scripts
      run: |
        npm install
        npm run lint
        npm run build --if-present
        npm run test

    - name: sync to coveralls
      uses: coverallsapp/github-action@v1.1.2
      with:
        github-token: ${{ secrets.GITHUB_TOKEN }}

    - name: cache node modules
      uses: actions/cache@v2
      with:
        path: ~/.npm
        key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
        restore-keys: |
          ${{ runner.os }}-node-



