WI: Integrate QA system with Solstice CI and Forgejo Actions #186

Closed
opened 2026-05-24 05:13:26 +00:00 by toasterson · 0 comments
Owner

Goal

Add QA visual testing to the Anima CI pipeline: Forgejo Actions workflow triggers QA testing on pull requests that affect UI code.

Background

Anima currently has CI for build + test + clippy + docker push. We need to add a QA step that runs visual tests when UI-related code changes.

🔗 Remote Sources (all on code.aopc.cloud)

Anima CI config:

Anima docker-compose:

Design doc: Ask Tecton for memory/projects/anima-qa.md — CI integration spec

🏗️ Implementation Guide

Step 1: Create Dockerfile

Create crates/anima-qa/Dockerfile: multi-stage build (rust:bookworm builder → debian:bookworm-slim runtime), install QEMU system packages for KVM, expose port 8090

Step 2: Add QA service to docker-compose.yml

New anima-qa service: build from local Dockerfile, expose 8090, mount vmctl data dir, privileged for KVM, env: QA_MCP_PORT, OLLAMA_CLOUD_API_KEY, QA_VISION_MODEL

Step 3: Add QA job to CI workflow

New qa job in .forgejo/workflows/ci.yml: triggers on pull_request, needs docker job, starts QA server via docker compose, runs tests with CLI runner, uploads artifacts, stops server on cleanup

Step 4: Push to registry

Build and push to code.aopc.cloud/toasterson/anima-qa:latest for deployment

Acceptance Criteria

  • Docker image builds and runs QA MCP server
  • CI job triggers on UI-affecting PRs
  • Test results uploaded as artifacts
  • VM cleanup on workflow completion
  • #181-182 — MCP server and CLI (dependencies)
  • #185 — test spec parser (dependency)
## Goal Add QA visual testing to the Anima CI pipeline: Forgejo Actions workflow triggers QA testing on pull requests that affect UI code. ## Background Anima currently has CI for build + test + clippy + docker push. We need to add a QA step that runs visual tests when UI-related code changes. ## 🔗 Remote Sources (all on code.aopc.cloud) **Anima CI config:** - https://code.aopc.cloud/toasterson/Anima/src/branch/main/.forgejo/workflows/ci.yml — existing CI workflow: docker build job on main push, test/snapshot jobs commented out **Anima docker-compose:** - https://code.aopc.cloud/toasterson/Anima/src/branch/main/docker-compose.yml — postgres + anima-server + anima-ai + anima-mail + anima-agent dev stack **Design doc:** Ask Tecton for `memory/projects/anima-qa.md` — CI integration spec ## 🏗️ Implementation Guide ### Step 1: Create Dockerfile Create `crates/anima-qa/Dockerfile`: multi-stage build (rust:bookworm builder → debian:bookworm-slim runtime), install QEMU system packages for KVM, expose port 8090 ### Step 2: Add QA service to docker-compose.yml New `anima-qa` service: build from local Dockerfile, expose 8090, mount vmctl data dir, privileged for KVM, env: QA_MCP_PORT, OLLAMA_CLOUD_API_KEY, QA_VISION_MODEL ### Step 3: Add QA job to CI workflow New `qa` job in `.forgejo/workflows/ci.yml`: triggers on pull_request, needs docker job, starts QA server via docker compose, runs tests with CLI runner, uploads artifacts, stops server on cleanup ### Step 4: Push to registry Build and push to `code.aopc.cloud/toasterson/anima-qa:latest` for deployment ## ✅ Acceptance Criteria - [ ] Docker image builds and runs QA MCP server - [ ] CI job triggers on UI-affecting PRs - [ ] Test results uploaded as artifacts - [ ] VM cleanup on workflow completion ## Related WIs - #181-182 — MCP server and CLI (dependencies) - #185 — test spec parser (dependency)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
toasterson/Anima#186
No description provided.