name: Main on: - pull_request - push jobs: build: runs-on: ubuntu-latest strategy: matrix: python-version: - '3.9' - '3.10' - '3.11' - '3.12' steps: - name: Clone repository uses: actions/checkout@v4 - name: Use Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Configure uv uses: astral-sh/setup-uv@v2 with: enable-cache: true - name: Sync dependencies run: uv sync --all-extras --dev - name: Check styling run: uv run ruff check - name: Check types run: uv run mypy - name: Run tests run: uv run pytest