Skip to content

chore(deps): bump the python-dependencies group across 1 directory with 17 updates #259

chore(deps): bump the python-dependencies group across 1 directory with 17 updates

chore(deps): bump the python-dependencies group across 1 directory with 17 updates #259

Workflow file for this run

name: CI
on:
push:
pull_request:
jobs:
backend-quality:
name: Backend lint/typecheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Python 3.11
uses: actions/setup-python@v6
with:
python-version: "3.11"
- name: Set up uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
- name: Install dependencies
run: make python-sync
- name: Check Python lockfile
run: make python-lock-check
- name: Run backend lint
run: make lint
- name: Run release hygiene guard
run: make hygiene
- name: Run backend typecheck
run: make typecheck
backend-tests:
name: Backend tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Python 3.11
uses: actions/setup-python@v6
with:
python-version: "3.11"
- name: Set up uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
- name: Install dependencies
run: make python-sync
- name: Bootstrap database schema
run: PYTHONPATH=. .venv/bin/python backend/data/database.py
- name: Run backend tests with coverage
run: make coverage
- name: Publish coverage summary
if: always()
run: |
if [ -f coverage.xml ]; then
pct=$(python3 -c "import xml.etree.ElementTree as ET; print(round(float(ET.parse('coverage.xml').getroot().get('line-rate')) * 100, 1))")
echo "### Backend coverage" >> $GITHUB_STEP_SUMMARY
echo "Line coverage: **${pct}%** (gate: fail_under in pyproject.toml)" >> $GITHUB_STEP_SUMMARY
fi
- name: Upload coverage artifact
uses: actions/upload-artifact@v7
with:
name: backend-coverage
path: coverage.xml
security:
name: Security and dependency audit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Python 3.11
uses: actions/setup-python@v6
with:
python-version: "3.11"
- name: Set up uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
- name: Install dependencies
run: make python-sync
- name: Run low-noise security snapshot
run: make security
- name: Run dependency audit
run: |
make dependency-audit
echo "### Dependency audit" >> $GITHUB_STEP_SUMMARY
echo "Audit completed at $(date -u '+%Y-%m-%dT%H:%M:%SZ'). No known vulnerabilities found." >> $GITHUB_STEP_SUMMARY
frontend:
name: Frontend test/build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Node
uses: actions/setup-node@v6
with:
node-version: "20"
cache: "npm"
cache-dependency-path: frontend/package-lock.json
- name: Install dependencies
working-directory: frontend
run: npm ci
- name: Install browser runtime
working-directory: frontend
run: npx playwright install --with-deps chromium
- name: Run frontend tests
run: make frontend-test
- name: Run frontend ESLint gate
run: make frontend-lint
- name: Run frontend build
run: make build
- name: Run demo and live-mode browser smoke
run: make frontend-smoke