Continuous integration
Each product repo has its own GitHub Actions workflow on push / pull_request to main.
agency-workspace has no workflow — it records compatible submodule SHAs.
Overview
Repository |
Workflow |
Jobs |
|---|---|---|
|
|
|
|
|
|
|
— |
Docs built locally via |
Backend job (agency-django)
actions/checkout@v4— single repo onlyPython 3.11,
pip install -e ".[dev]"pytest --collect-only -qpytest -v --cov=agency --cov-report=term-missing --cov-fail-under=35
No Docker, Ollama, or Tavily in CI. Channels tests use in-memory layer.
Standalone pytest wires an in-memory Celery app via tests/celery_app.py so
.delay() does not require Redis.
Frontend job (agency-ui)
actions/checkout@v4Node 22,
npm cinpm test+npm run buildSeparate
typecheckjob (vue-tsc; required, blocksmain)
Private repos
agency-django CI must not checkout sibling private repos. Standalone tests/settings.py replaces server.settings for pytest.
Publishing UI
Not part of CI today. Manual / umbrella flow:
Commit source in agency-ui
npm run build:django→ commit dist in agency-django./dev ui→ collectstatic in running stack
Submodule pointers in agency-workspace document which commits ship together.
Local parity checklist
./dev up
./dev test-all # backend container + frontend
./dev test-docker # optional stack smoke
See Backend (pytest) and Frontend (Vitest) for details.