name: CI

on: [push]

jobs:
  lint:
    name: Lint & Test
    runs-on: ubuntu-latest

    steps:
      - name: Checkout
        uses: actions/checkout@v2

      - name: Install NodeJS
        uses: actions/setup-node@v1
        with:
          node-version: '14'

      - name: Install dependencies
        run: npm ci

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

      - name: Lint
        run: npm run lint

      - name: Test
        run: npm test
