Skip to content

Add Kubernetes manifests, validated on kind, and fix two bugs they ex… #53

Add Kubernetes manifests, validated on kind, and fix two bugs they ex…

Add Kubernetes manifests, validated on kind, and fix two bugs they ex… #53

Workflow file for this run

name: CodebaseQA CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
backend-test:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./apps/api
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: 'pip'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
# Only the linter is not a project dependency; everything the tests need
# (pytest, pytest-asyncio, pytest-cov, httpx) is declared in requirements.txt
# so a fresh clone can run the suite too. Pinned so an unrelated PR cannot
# go red the day ruff ships a new rule.
pip install ruff==0.16.2
- name: Lint with Ruff
run: |
ruff check src tests
- name: Run Tests
# `tests`, not `tests/unit tests/integration`: tests/test_parser.py sits at the
# tests/ root and was silently excluded, so CI never built a single tree-sitter
# parser and local runs (pyproject testpaths = ["tests"]) covered more than CI.
run: |
pytest tests --cov=src --cov-report=xml
- name: Upload coverage reports
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
frontend-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v3
with:
version: 10.28.2
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'pnpm'
# --frozen-lockfile matches apps/web/vercel.json. With --no-frozen-lockfile CI
# silently repaired lockfile drift that the Vercel build then rejected, so a PR
# could go green and the production deploy fail on the same commit.
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Lint
run: pnpm --filter web lint
- name: Type Check
run: pnpm --filter web type-check
- name: Build
run: pnpm --filter web build
- name: Verify Compiled CSS
run: pnpm web:verify-css
- name: Run Tests
run: pnpm --filter web test