Skip to content

fix: Switch to gh-pages branch deployment for PR preview compatibility #15

fix: Switch to gh-pages branch deployment for PR preview compatibility

fix: Switch to gh-pages branch deployment for PR preview compatibility #15

Workflow file for this run

name: Code Quality
on:
push:
branches: ["main", "claude/**"]
pull_request:
branches: ["main"]
workflow_dispatch:
permissions:
contents: read
jobs:
lint:
name: Lint and Format Check
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
enable-cache: true
- name: Install dependencies
run: uv sync --all-groups
- name: Check code formatting with Black
run: uv run black --check --diff src/ tests/
- name: Check import sorting with isort
run: uv run isort --check-only --diff src/ tests/
- name: Lint with Ruff
run: uv run ruff check src/ tests/
type-check:
name: Type Checking
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
enable-cache: true
- name: Install dependencies
run: uv sync --all-groups
- name: Type check with mypy
run: uv run mypy src/
continue-on-error: true # Don't fail on type errors initially
test:
name: Run Tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
enable-cache: true
- name: Install dependencies
run: uv sync --all-groups
- name: Run pytest
run: uv run pytest tests/ -v --cov=src --cov-report=xml --cov-report=term
- name: Upload coverage reports
if: always()
uses: actions/upload-artifact@v4
with:
name: coverage-report
path: coverage.xml
retention-days: 30
pre-commit:
name: Pre-commit Hooks
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
enable-cache: true
- name: Install dependencies
run: uv sync --all-groups
- name: Cache pre-commit
uses: actions/cache@v4
with:
path: ~/.cache/pre-commit
key: pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
- name: Run pre-commit
run: uv run pre-commit run --all-files --show-diff-on-failure
continue-on-error: true # Don't fail initially