name: 'Tests: linting'

on: [pull_request, push]

jobs:
  eclint:
    permissions:
      contents: read
    runs-on: ubuntu-latest
    steps:
      - uses: step-security/harden-runner@v1
        with:
          allowed-endpoints:
            github.com:443
            raw.githubusercontent.com:443
            nodejs.org:443
            registry.npmjs.org:443
      - uses: actions/checkout@v3
      - uses: ljharb/actions/node/install@main
        name: 'nvm install ${{ matrix.node-version }} && npm install'
        with:
          node-version: 'lts/*'
      - run: npm run eclint

  dockerfile_lint:
    permissions:
      contents: read
    runs-on: ubuntu-latest
    steps:
      - uses: step-security/harden-runner@v1
        with:
          allowed-endpoints:
            ghcr.io:443
            github.com:443
            raw.githubusercontent.com:443
            pkg-containers.githubusercontent.com:443
            nodejs.org:443
            registry.npmjs.org:443
      - uses: actions/checkout@v3
      - uses: ljharb/actions/node/install@main
        name: 'nvm install ${{ matrix.node-version }} && npm install'
        with:
          node-version: 'lts/*'
      - run: npm run dockerfile_lint

  doctoc:
    permissions:
      contents: read
    runs-on: ubuntu-latest
    steps:
      - uses: step-security/harden-runner@v1
        with:
          allowed-endpoints:
            github.com:443
            raw.githubusercontent.com:443
            nodejs.org:443
            registry.npmjs.org:443
      - uses: actions/checkout@v3
      - uses: ljharb/actions/node/install@main
        name: 'nvm install ${{ matrix.node-version }} && npm install'
        with:
          node-version: 'lts/*'
      - run: npm run doctoc:check

  test_naming:
    permissions:
      contents: read
    runs-on: ubuntu-latest
    steps:
      - uses: step-security/harden-runner@v1
        with:
          allowed-endpoints:
            github.com:443
            raw.githubusercontent.com:443
      - uses: actions/checkout@v3
      - name: check tests filenames
        run: ./rename_test.sh --check
