name: Linting

on: [push, pull_request]

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

      - name: Setup Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.12'

      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install -r requirements-dev.txt
      - name: Python lint
        run: ruff check --output-format=github .
      - name: Python include order
        run: ruff check --select I --diff .
      - name: Python coding style
        run: ruff format --check --diff .
      - name: YAML lint
        run: yamllint --format github custom_components/tuya_local/devices
