name: Linting

permissions:  ## security hint
  contents: read

on:
  push:
    branches: [ "master", "stable" ]
    paths: [
      ".github/workflows/check-lint.yml",
      "src/**.py",
      "tests/**",
    ]

  pull_request:
    branches: [ "master", "stable" ]
    paths: [
      ".github/workflows/check-lint.yml",
      "src/**.py",
      "tests/**",
    ]

  workflow_dispatch:


jobs:
  lint:
    runs-on: ubuntu-latest

    strategy:
      fail-fast: false
      matrix:
        python-version: ["3.13"]

    steps:
      - uses: actions/checkout@v6

      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v6
        with:
          python-version: ${{ matrix.python-version }}

      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install ruff  # pip install -r requirements/requirements_dev.txt

      - name: Check with ruff
        run: ruff check --output-format=github .

      - name: Check with ruff (format)
        run: ruff format --check .

      - run: echo "🍏 This job's status is ${{ job.status }}."
