Servify DocsServify Docs
首页
架构
实施计划
  • WeKnora 集成
  • CI / Runner
  • 版本发布
  • 测试金字塔
  • Mermaid 兼容性
GitHub
首页
架构
实施计划
  • WeKnora 集成
  • CI / Runner
  • 版本发布
  • 测试金字塔
  • Mermaid 兼容性
GitHub
  • 站点导航

    • Servify Docs
    • 架构总览
    • WeKnora 集成完整指南
    • GitHub Hosted CI
    • Release Versioning
    • Testing Pyramid
    • Mermaid 兼容性
  • 实施计划

    • Servify Implementation Backlogs
    • 01 Platform And Runtime
    • 02 AI And Knowledge
    • 03 Business Modules
    • 04 SDK And Channel Adapters
    • 05 Engineering Hardening
    • 06 Voice And Protocol Expansion
    • 07 SDK Multi Surface
    • 08 AI Provider Expansion

GitHub Hosted CI

当前仓库已切换为 GitHub Hosted Runner,不再依赖仓库私有 self-hosted runner。

当前运行环境

  • Runner: ubuntu-latest
  • Workflow: .github/workflows/ci.yml
  • 触发条件:
    • push 到 main
    • 提交到 main 的 pull request

当前 CI 检查项

Go checks

  • gofmt 格式校验
  • go mod tidy 漂移检查
  • go vet
  • 单元测试与覆盖率门槛检查
  • 标准二进制构建
  • WeKnora tag 构建

Module checks

  • internal/modules/... 构建与测试
  • internal/platform/... 构建与测试
  • internal/services/... 构建与测试
  • internal/handlers/... 构建与测试

SDK checks

  • sdk 依赖安装
  • SDK lint
  • SDK test
  • SDK build
  • SDK 同步到 demo 后的工作区漂移检查

Website worker checks

  • apps/website-worker 依赖安装
  • TypeScript type check

Integration

  • 使用 docker compose 拉起 WeKnora 集成环境
  • 健康检查轮询
  • 执行 scripts/test-weknora-integration.sh
  • 失败时输出 compose logs

Deploy jobs

以下任务仅在 main 分支运行,且依赖 Cloudflare secrets:

  • Cloudflare Workers 部署
  • Cloudflare Pages 部署

需要的仓库 Secrets

  • CLOUDFLARE_API_TOKEN
  • CLOUDFLARE_ACCOUNT_ID

可选仓库 Variable:

  • CF_PAGES_PROJECT

设计取舍

  • 不再要求维护额外 runner 主机,减少运维成本
  • CI 改为显式失败,不再通过 make test 中的吞错逻辑掩盖问题
  • 将 Go、SDK、worker、integration 拆成独立 job,便于定位失败点
  • 保留部署 job,但通过 secrets gate 和变更检测避免无效发布

后续可继续补的检查

  • golangci-lint
  • 文档站点实际构建检查(等 VuePress 配置入仓后再加)
  • OpenAPI/contract drift check
  • 更细粒度的 integration matrix
Edit this page
最近更新: 2026/3/22 16:20
Contributors: cuihairu
Prev
WeKnora 集成完整指南
Next
Release Versioning