---
name: Lint

on:
  push:
    branches:
      - main
      - renovate/**
  pull_request:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false

    steps:
      - uses: actions/checkout@v5
      - uses: codespell-project/actions-codespell@v2.2
        with:
          check_hidden: false
      - name: Run yamllint
        uses: ibiqlik/action-yamllint@v3
        with:
          file_or_dir: "./"
          config_file: "./.yaml-lint.yaml"
          strict: true

      - name: Install uv
        uses: astral-sh/setup-uv@v7
        with:
          enable-cache: true
          cache-dependency-glob: "requirements_dev.txt"
          activate-environment: true
      - name: Install dependencies
        run: |
          uv pip install -r requirements_dev.txt

      - name: Run Ruff Check
        run: |
          ruff check --output-format=github .

      - name: Run Ruff Format
        run: |
          ruff format .

      - name: Static typing with mypy
        run: |
          mypy --install-types --non-interactive --no-warn-unused-ignores .
