name: Lint

on:
  push:
    branches: [master]
  pull_request:
    branches: [master]

jobs:
  lint:
    runs-on: ubuntu-latest
    name: Lint files
    steps:
      - name: Checkout repository
        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

      - name: Setup node
        uses: ./.github/actions/setup-node
        with:
          NODEJS_VERSION: '22'

      - name: Run ESLint
        run: yarn run eslint

      - name: Lint markdown files
        run: yarn run markdownlint

      - name: Lint shell scripts with shellcheck
        run: shellcheck bin/heroku bin/setup

      - name: Lint JSON files
        run: sudo apt install -y jq && yarn run jsonlint
