chore(deps): bump the github-actions group across 1 directory with 5 updates #257
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| pull_request: | |
| jobs: | |
| backend-quality: | |
| name: Backend lint/typecheck | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Set up Python 3.11 | |
| uses: actions/setup-python@v7 | |
| 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@v7 | |
| - name: Set up Python 3.11 | |
| uses: actions/setup-python@v7 | |
| 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@v7 | |
| - name: Set up Python 3.11 | |
| uses: actions/setup-python@v7 | |
| 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@v7 | |
| - name: Set up Node | |
| uses: actions/setup-node@v7 | |
| 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 |