贡献

CI 流水线

CI 在每次推送到 main 分支以及每个拉取请求时运行。它采用智能作用域,当仅文档或原生代码发生更改时会跳过开销较大的任务。

任务概览

任务目的何时运行
docs-scope检测仅文档更改始终
changed-scope检测哪些区域发生更改(node/macos/android/windows)非文档 PR
checkTypeScript 类型检查、代码检查、格式化推送到 main,或包含 Node 相关更改的 PR
check-docsMarkdown 检查 + 损坏链接检查文档发生更改
code-analysis代码行数阈值检查(1000 行)仅限 PR
secrets检测泄露的密钥始终
build-artifacts构建一次 dist,与其他任务共享非文档,Node 更改
release-check验证 npm 包内容构建之后
checksNode/Bun 测试 + 协议检查非文档,Node 更改
checks-windowsWindows 特定测试非文档,与 Windows 相关的更改
macosSwift 代码检查/构建/测试 + TS 测试包含 macOS 更改的 PR
androidGradle 构建 + 测试非文档,Android 更改

快速失败顺序

任务按顺序排列,以便在开销较大的任务运行之前,开销较小的检查先失败:

  1. docs-scope + code-analysis + check(并行,约 1-2 分钟)
  2. build-artifacts(等待上述任务完成)
  3. checks, checks-windows, macos, android(等待构建完成)

作用域逻辑位于 scripts/ci-changed-scope.mjs 中,并由 src/scripts/ci-changed-scope.test.ts 中的单元测试覆盖。

运行器

运行器任务
blacksmith-16vcpu-ubuntu-2404大多数 Linux 任务,包括作用域检测
blacksmith-32vcpu-windows-2025checks-windows
macos-latestmacos, ios

本地等效命令

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

Pi 开发工作流文档中心