name: Python - Code Quality on: merge_group: workflow_dispatch: pull_request: branches: ["main"] paths: - "python/**" env: UV_SEMVER: "0.8.x" jobs: pre-commit: name: Checks if: "!cancelled()" strategy: fail-fast: false matrix: python-version: ["3.10"] runs-on: ubuntu-latest continue-on-error: true defaults: run: working-directory: ./python env: # Configure a constant location for the uv cache UV_CACHE_DIR: /tmp/.uv-cache UV_PYTHON: ${{ matrix.python-version }} steps: - uses: actions/checkout@v4 - name: Set up uv uses: astral-sh/setup-uv@v6 with: version: ${{ env.UV_SEMVER }} enable-cache: true cache-suffix: ${{ runner.os }}-${{ matrix.python-version }} cache-dependency-glob: "**/uv.lock" - name: Install the project run: uv sync --all-extras --dev - uses: actions/cache@v4 with: path: ~/.cache/pre-commit key: pre-commit|${{ matrix.python-version }}|${{ hashFiles('python/.pre-commit-config.yaml') }} - uses: pre-commit/action@v3.0.1 name: Run Pre-Commit Hooks with: extra_args: --config python/.pre-commit-config.yaml --all-files - name: Run Mypy run: uv run poe mypy