Skip to content

ci: GitHub Actions for backend, UI, and Docker build#6

Merged
KostasCherv merged 7 commits into
mainfrom
ci/github-actions
Jul 9, 2026
Merged

ci: GitHub Actions for backend, UI, and Docker build#6
KostasCherv merged 7 commits into
mainfrom
ci/github-actions

Conversation

@KostasCherv

Copy link
Copy Markdown
Owner

Summary

  • Fixes pre-existing ruff errors (unused imports) and pre-existing tsc/eslint errors in the UI so CI can start green
  • Adds .github/workflows/ci.yml: backend job (ruff + pytest, mypy non-blocking), ui job (eslint + tsc + vitest), docker build job (main only)

Test plan

  • Backend suite passes locally (534/534)
  • UI tsc/eslint/vitest all clean locally
  • CI workflow YAML validated
  • Watch the Actions run on this PR to confirm it's green in the real CI environment

- Several rag-chat endpoint tests didn't mock enqueue_memory_refresh,
  a fire-and-forget outbox write. They only passed locally because
  the (gitignored) .env pointed at a real Supabase project; in CI
  there's no such project, so the write failed. Mock it by default
  in conftest.py; tests that care about the call still patch/assert
  it explicitly.
- Backend Test step now sets dummy SUPABASE_URL/SECRET_KEY/JWKS_URL
  env vars so Settings' "is this configured" checks pass without a
  real project. example.com is used because it actually resolves via
  DNS (unlike a fabricated *.supabase.co host), even though invalid
  JWTs fail parsing before any network call is made.
_execute_research_run schedules Neo4j persistence via asyncio.create_task,
intentionally decoupled from run completion. The test asserted on it right
after asyncio.run() returned, racing the background task — it usually won
locally but lost more often on the slower/loaded GitHub Actions runner.
Drain pending tasks before asserting so the test is deterministic.
@KostasCherv
KostasCherv merged commit e8b92f9 into main Jul 9, 2026
3 checks passed
@KostasCherv
KostasCherv deleted the ci/github-actions branch July 9, 2026 06:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant