name: Lint

on: [push, pull_request, workflow_dispatch]

permissions: {}

env:
  FORCE_COLOR: 1
  PREK_COLOR: always
  RUFF_OUTPUT_FORMAT: github

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  lint:
    runs-on: ubuntu-latest
    name: Lint
    steps:
      - uses: actions/checkout@v6
        with:
          persist-credentials: false
      - uses: actions/setup-python@v6
        with:
          python-version: "3.x"
      - name: Install uv
        uses: astral-sh/setup-uv@v7
      - name: Lint
        run: uvx --with tox-uv tox -e lint
      - name: Mypy
        run: uvx --with tox-uv tox -e mypy
