name: tests

on:
  workflow_dispatch:
  pull_request:
    branches: [main]
  push:
    branches: [main]

jobs:
  jest:
    runs-on: ubuntu-20.04
    timeout-minutes: 5
    steps:
      - uses: actions/checkout@v2
      - name: cache .npm
        uses: actions/cache@v2
        env:
          cache-name: npm
        with:
          path: ~/.npm
          key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}

      - name: Install
        run: npm install

      - name: Lint
        run: npm run lint

      - name: Test
        run: npm run test
