# PR's only

name: Validate

on:
  pull_request:
    branches: [master]

env:
  FORCE_COLOR: 1

jobs:
  linuxNode14:
    name: '[Linux] Node.js v14: Lint'
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v2

      - name: Retrieve dependencies from cache
        id: cacheNpm
        uses: actions/cache@v2
        with:
          path: |
            ~/.npm
            node_modules
          key: npm-v14-${{ runner.os }}-${{ github.ref }}-${{ hashFiles('package.json') }}
          restore-keys: |
            npm-v14-${{ runner.os }}-${{ github.ref }}-
            npm-v14-${{ runner.os }}-refs/heads/master-

      - name: Install Node.js and npm
        uses: actions/setup-node@v1
        with:
          node-version: 14.x

      - name: Install dependencies
        if: steps.cacheNpm.outputs.cache-hit != 'true'
        run: |
          npm update --no-save
          npm update --save-dev --no-save
      - name: Validate ESLint rules
        run: npm run lint
