mirror of
https://github.com/jeffusion/gitea-ai-assistant.git
synced 2026-06-06 07:26:49 +00:00
- Add agent-kernel runtime (MainAgentRunner with while-true state machine, subagent spawning, tool loop, budget control) - Add review-agent entrypoint with read_file/search_code/spawn_subagent tools - Add deterministic publish adapter with cross-specialist finding dedup - Delete old fixed workflow (orchestrator, triage, specialist, judge agents, 4 domain agents, critic/debate/reflexion agents, learning/memory system) - Remove legacy ModelRole (planner/specialist/judge) from LLM types, gateway, config schema, DB, and frontend RoleAssignment UI - Replace RoleAssignment with AgentModelSettings for role-based model config - Add agent config API endpoints (GET/PUT /admin/api/agents/config) - Add review session detail page with observability/findings/logs tabs - Add runtime contract tests and review adapter integration tests - Add E2E mock LLM with scripted behavior support for deterministic testing - Update E2E test script with subagent and finding assertions - Add e2e/README.md with real PR review testing guide - Fix seed.sh to run gitea admin commands as git user (not root) - Update docs (configuration, review-engines, deployment, README) - Remove unused feedback controller, qdrant k8s manifest, embedding migration - Add .omo/ and .opencode/ to .gitignore
64 lines
1.7 KiB
YAML
64 lines
1.7 KiB
YAML
version: '3.8'
|
||
|
||
# E2E 测试环境:Gitea + gitea-assistant
|
||
# 用法:
|
||
# docker compose -f docker-compose.e2e.yml up -d
|
||
# # 等待服务启动后运行 seed 脚本:
|
||
# ./e2e/seed.sh
|
||
# # 运行 E2E 测试:
|
||
# ./e2e/test.sh
|
||
# # 清理:
|
||
# docker compose -f docker-compose.e2e.yml down -v
|
||
|
||
services:
|
||
gitea:
|
||
image: gitea/gitea:1.22
|
||
container_name: e2e-gitea
|
||
environment:
|
||
- GITEA__database__DB_TYPE=sqlite3
|
||
- GITEA__server__ROOT_URL=http://gitea:3000
|
||
- GITEA__server__HTTP_PORT=3000
|
||
- GITEA__security__INSTALL_LOCK=true
|
||
- GITEA__service__DISABLE_REGISTRATION=false
|
||
- GITEA__service__REQUIRE_SIGNIN_VIEW=false
|
||
- GITEA__webhook__ALLOWED_HOST_LIST=*
|
||
- GITEA__webhook__SKIP_TLS_VERIFY=true
|
||
ports:
|
||
- "3333:3000"
|
||
volumes:
|
||
- gitea-data:/data
|
||
healthcheck:
|
||
test: ["CMD", "curl", "-f", "http://localhost:3000/api/v1/version"]
|
||
interval: 5s
|
||
timeout: 3s
|
||
retries: 20
|
||
start_period: 10s
|
||
|
||
assistant:
|
||
build:
|
||
context: .
|
||
dockerfile: e2e/Dockerfile.e2e
|
||
container_name: e2e-assistant
|
||
depends_on:
|
||
gitea:
|
||
condition: service_healthy
|
||
environment:
|
||
- NODE_ENV=production
|
||
- GITEA_API_URL=http://gitea:3000/api/v1
|
||
- GITEA_ACCESS_TOKEN=${E2E_GITEA_TOKEN:-placeholder}
|
||
- E2E_MOCK_LLM=1
|
||
- PORT=5174
|
||
- ENCRYPTION_KEY=${E2E_ENCRYPTION_KEY:-0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef}
|
||
- WEBHOOK_SECRET=e2e-test-secret
|
||
ports:
|
||
- "3334:5174"
|
||
healthcheck:
|
||
test: ["CMD", "curl", "-f", "http://localhost:5174/api/health"]
|
||
interval: 5s
|
||
timeout: 3s
|
||
retries: 10
|
||
start_period: 5s
|
||
|
||
volumes:
|
||
gitea-data:
|