From 197232c1484c2adc7f5381a7b7adf7a91eee1375 Mon Sep 17 00:00:00 2001 From: GameTec_live Date: Fri, 15 May 2026 13:42:57 +0200 Subject: [PATCH] feat: split linter and formatting check --- .github/workflows/python-checks.yml | 45 +++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 3 deletions(-) diff --git a/.github/workflows/python-checks.yml b/.github/workflows/python-checks.yml index 0e2074e2..4c2bfbfb 100644 --- a/.github/workflows/python-checks.yml +++ b/.github/workflows/python-checks.yml @@ -8,7 +8,7 @@ on: workflow_dispatch: jobs: - lint: + lint-formatting: runs-on: ubuntu-latest defaults: run: @@ -42,14 +42,53 @@ jobs: python -m pip install --upgrade pip # Try project requirements if present if [ -f script/requirements.txt ]; then pip install -r script/requirements.txt || true; fi - # Ensure ruff and pyrefly are available - pip install ruff pyrefly + # Ensure ruff is available + pip install ruff - name: Ruff check run: | set -e (uv run ruff --version && uv run ruff check .) || ruff check . + lint-types: + runs-on: ubuntu-latest + defaults: + run: + shell: bash + working-directory: software + + continue-on-error: true + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.13" + cache: "pip" + cache-dependency-path: | + software/pyproject.toml + software/uv.lock + software/script/requirements.txt + + - name: Set up uv + uses: astral-sh/setup-uv@v6 + + - name: Install dependencies with uv (if lockfile present) + if: ${{ hashFiles('software/uv.lock') != '' }} + run: uv sync --dev + + - name: Install tools with pip (fallback) + if: ${{ hashFiles('software/uv.lock') == '' }} + run: | + python -m pip install --upgrade pip + # Try project requirements if present + if [ -f script/requirements.txt ]; then pip install -r script/requirements.txt || true; fi + # Ensure pyrefly is available + pip install pyrefly + - name: Pyrefly check run: | set -e