---
name: Lint

on:
  push:
    branches-ignore:
      - 'l10n_master'
      - 'cf-pages'
    paths-ignore:
      - '.github/workflows/**'
  workflow_dispatch:
    inputs: {}

defaults:
  run:
    shell: bash

jobs:
  lint:
    name: Lint
    runs-on: ubuntu-20.04
    steps:
      - name: Checkout repo
        uses: actions/checkout@a12a3943b4bdde767164f792f33f40b04645d846  # v3.0.0

      - name: Lint filenames (no capital characters)
        run: |
          find . -type f -name "*[[:upper:]]*" \
            ! -path "./node_modules/*" \
            ! -path "./coverage/*" \
            ! -path "*/dist/*" \
            ! -path "*/build/*" \
            ! -path "*/target/*" \
            ! -path "./.git/*" \
            ! -path "*/.DS_Store" \
            > tmp.txt
          diff <(sort .github/whitelist-capital-letters.txt) <(sort tmp.txt)

      - name: Set up Node
        uses: actions/setup-node@9ced9a43a244f3ac94f13bfd896db8c8f30da67a  # v3.0.0
        with:
          cache: 'npm'
          cache-dependency-path: '**/package-lock.json'
          node-version: '16'

      - name: Run linter
        run: |
          npm ci
          npm run lint