Files
simbarag/.gitea/workflows/ci.yml
T
ryan de88679f25
CI / backend (pull_request) Successful in 1m23s
CI / frontend (pull_request) Failing after 37s
CI / backend (push) Successful in 36s
CI / frontend (push) Failing after 7s
Validate production config, add CI, and build from locked dependencies
- Fail startup on unsafe or malformed production settings (scripts/validate_config.py),
  run it before migrations, and stop on a failed `aerich upgrade`.
- Forward the context-budget, timeout and metrics settings through Compose; accept
  the historical TAVILIY_API_KEY spelling.
- Build the image from uv.lock and yarn.lock in a multi-stage Dockerfile.
- Add Gitea Actions CI: Ruff, unit tests, context evaluation, frontend tests,
  typecheck and build.
- Update README and deployment/development docs to match the current stack.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 23:09:22 -04:00

50 lines
1.4 KiB
YAML

name: CI
on:
push:
pull_request:
jobs:
backend:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/setup-python@v5.6.0
with:
python-version: '3.13.2'
- name: Install pinned tooling
run: python -m pip install uv==0.7.2 ruff==0.8.2
- name: Install locked backend and test dependencies
run: |
uv lock --check
uv sync --frozen --extra test
- name: Ruff
run: ruff check .
- name: Unit tests (no service credentials)
env:
OPENAI_API_KEY: synthetic-unit-test-key
TAVILY_API_KEY: synthetic-unit-test-key
run: uv run --frozen --extra test pytest tests/unit -v
- name: Deterministic context evaluation
run: uv run --frozen --extra test python -m scripts.evaluate_context
frontend:
runs-on: ubuntu-latest
defaults:
run:
working-directory: raggr-frontend
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/setup-node@v4.4.0
with:
node-version: '22.14.0'
cache: yarn
cache-dependency-path: raggr-frontend/yarn.lock
- name: Install locked frontend dependencies
run: yarn install --frozen-lockfile
- name: Renderer tests
run: node --test tests/*.test.cjs
- name: Typecheck
run: yarn tsc --noEmit
- name: Build
run: yarn build