name: Lint

on:
  pull_request:
    branches: [main]

jobs:
  structlint:
    name: Structure lint
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: actions/setup-python@v5
        with:
          python-version: "3.11"

      # lint.py imports watchfiles at module load; vulture backs the dead-code check.
      - run: pip install watchfiles vulture==2.16

      - run: python3 linter/lint.py --root .
