CI 流水线

CI 在每次推送到 main 分支和每个拉取请求时运行。它使用智能作用域检测来跳过仅文档或原生代码更改时的昂贵作业。

作业概览

作业目的运行时机
docs-scope检测仅文档更改始终运行
changed-scope检测哪些区域更改(node/macos/android)非文档 PR
checkTypeScript 类型检查、lint、格式化非文档更改
check-docsMarkdown lint + 损坏链接检查文档更改时
code-analysisLOC 阈值检查(1000 行)仅 PR
secrets检测泄露的密钥始终运行
build-artifacts构建 dist 一次,与其他作业共享非文档、node 更改
release-check验证 npm 包内容构建后
checksNode/Bun 测试 + 协议检查非文档、node 更改
checks-windowsWindows 特定测试非文档、node 更改
macosSwift lint/构建/测试 + TS 测试带有 macos 更改的 PR
androidGradle 构建 + 测试非文档、android 更改

失败快速顺序

作业按顺序排列,以便廉价检查在昂贵作业运行之前失败:

  1. docs-scope + code-analysis + check(并行,约 1-2 分钟)
  2. build-artifacts(受上述阻塞)
  3. checkschecks-windowsmacosandroid(受构建阻塞)

运行器

运行器作业
blacksmith-16vcpu-ubuntu-2404大多数 Linux 作业,包括作用域检测
blacksmith-16vcpu-windows-2025checks-windows
macos-latestmacosios

本地等效命令

pnpm check          # 类型检查 + lint + 格式化
pnpm test           # vitest 测试
pnpm check:docs     # 文档格式 + lint + 损坏链接
pnpm release:check  # 验证 npm 包