name: Checks
on: [push, pull_request]

jobs:
  lint:
    name: Lint
    runs-on: ubuntu-18.04
    steps:
      - name: Checkout
        uses: actions/checkout@v1

      - name: Setup Node.js
        uses: actions/setup-node@v1
        with:
          node-version: 12
          
      - name: Install dependencies
        run: npm ci

      - name: Lint
        run: npm run lint

  build:
    name: Build
    runs-on: ubuntu-18.04
    steps:
      - name: Checkout
        uses: actions/checkout@v1

      - name: Setup Node.js
        uses: actions/setup-node@v1
        with:
          node-version: 12
          
      - name: Install dependencies
        run: npm ci

      - name: Build
        run: npm run validate

  test:
    name: Test
    runs-on: ubuntu-18.04
    steps:
      - name: Checkout
        uses: actions/checkout@v1

      - name: Setup Node.js
        uses: actions/setup-node@v1
        with:
          node-version: 12
          
      - name: Install dependencies
        run: npm ci

      - name: Test
        run: npm run test
