Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 42 additions & 3 deletions .github/workflows/python-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
workflow_dispatch:

jobs:
lint:
lint-formatting:
runs-on: ubuntu-latest
defaults:
run:
Expand Down Expand Up @@ -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
Expand Down
Loading