Files
Blizzard 5ec558bf81 build: 加 make test/test-go/test-web/test-py 一键测试目标
- test-go: 各 Go 模块 go test(DB 集成测试无 MEMORY_TEST_DSN 自动跳过)
- test-web: 前端 tsc 类型检查
- test-py: mcp-py 沙箱守卫测试(pytest 缺则用内置 harness 兜底)
- test = test-go + test-web

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 11:44:31 +08:00

67 lines
2.8 KiB
Makefile
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
.PHONY: infra infra-down devnats demo e2e test test-go test-web test-py gateway dispatcher mcp-go mcp-py mcp-py-setup web admin desktop desktop-build tidy
infra: ## 启动基础设施 (NATS / Postgres / Redis / Milvus / Neo4j)
docker compose up -d
infra-down:
docker compose down
devnats: ## 启动内嵌 JetStream NATS(无 Docker 本地联调)
cd sundynix-shared && go run ./cmd/devnats
demo: ## 一键演示 Gateway→NATS→Dispatcher 任务流(无需 Docker
bash scripts/demo.sh
e2e: ## 跑共享 bus 的端到端测试(内嵌 NATS):任务流 / 工具调用 / Token 流
cd sundynix-shared && go test ./bus/ -run 'TestTaskRoundTrip|TestToolCallRoundTrip|TestTokenStreamRoundTrip' -v
test: test-go test-web ## 跑全部测试(后端各模块 go test + 前端类型检查)
test-go: ## 各 Go 模块单测(DB 集成测试无 MEMORY_TEST_DSN 自动跳过)
cd sundynix-shared && go test ./...
cd sundynix-gateway && go test ./...
cd sundynix-dispatcher && go test ./...
cd sundynix-mcp-go && go test ./...
test-web: ## 前端 TypeScript 类型检查
cd sundynix-desktop/frontend && npx tsc --noEmit
test-py: ## mcp-py 沙箱守卫测试(需 venv;缺 pytest 用内置 harness 兜底)
cd sundynix-mcp-py && ( PYTHONPATH=src:tests .venv/bin/python -m pytest tests/ -q 2>/dev/null \
|| PYTHONPATH=src:tests .venv/bin/python -c "import test_sandbox as t; \
fns=[getattr(t,n) for n in dir(t) if n.startswith('test_')]; \
[ (f(),print('PASS',f.__name__)) for f in fns ]; print(f'{len(fns)} passed')" )
gateway:
cd sundynix-gateway && go run ./cmd/server
dispatcher:
cd sundynix-dispatcher && go run ./cmd/dispatcher
mcp-go:
cd sundynix-mcp-go && go run ./cmd/server
mcp-py-setup: ## 创建 venv 并安装 mcp-py 依赖(首次运行 mcp-py 前执行)
cd sundynix-mcp-py && python3 -m venv .venv && .venv/bin/pip install -q -e .
mcp-py: ## 运行 Python 算法型 MCP 工具服务(缺 venv 则自动 setup
cd sundynix-mcp-py && [ -x .venv/bin/python ] || $(MAKE) mcp-py-setup
cd sundynix-mcp-py && .venv/bin/python -m sundynix_mcp_py.main
web: ## 桌面端前端 devVite :5173,连本地 Gateway:8080
cd sundynix-desktop/frontend && npm install && npm run dev
admin: ## 运维控制台 devVite :5174,配置 LLM 模型等控制面)
cd sundynix-admin && npm install && npm run dev
desktop: ## 真实桌面端开发模式(Wails 原生窗口 + 热重载;需先 make infra + 后端 + 配模型)
cd sundynix-desktop && GOWORK=off wails dev
desktop-build: ## 打包桌面端为原生应用(产物在 sundynix-desktop/build/bin/
cd sundynix-desktop && GOWORK=off wails build
tidy:
cd sundynix-gateway && go mod tidy
cd sundynix-dispatcher && go mod tidy
cd sundynix-mcp-go && go mod tidy