CI Pipeline

CI chạy trên mọi push vào main và mọi pull request. Nó sử dụng phạm vi thông minh để bỏ qua các công việc tốn kém khi chỉ có tài liệu hoặc mã native thay đổi.

Tổng quan công việc

Công việcMục đíchKhi nào chạy
docs-scopePhát hiện thay đổi chỉ tài liệuLuôn luôn
changed-scopePhát hiện khu vực nào thay đổi (node/macos/android)PR không phải tài liệu
checkKiểm tra kiểu TypeScript, lint, formatThay đổi không phải tài liệu
check-docsKiểm tra lint Markdown + liên kết hỏngTài liệu thay đổi
code-analysisKiểm tra ngưỡng LOC (1000 dòng)Chỉ PR
secretsPhát hiện secret bị rò rỉLuôn luôn
build-artifactsBuild dist một lần, chia sẻ với các công việc khácKhông phải tài liệu, thay đổi node
release-checkXác thực nội dung npm packSau khi build
checksTest Node/Bun + kiểm tra protocolKhông phải tài liệu, thay đổi node
checks-windowsTest riêng cho WindowsKhông phải tài liệu, thay đổi node
macosSwift lint/build/test + test TSPR có thay đổi macos
androidGradle build + testKhông phải tài liệu, thay đổi android

Thứ tự Fail-Fast

Các công việc được sắp xếp để kiểm tra rẻ fail trước khi các kiểm tra đắt chạy:

  1. docs-scope + code-analysis + check (song song, ~1-2 phút)
  2. build-artifacts (bị chặn bởi các bước trên)
  3. checks, checks-windows, macos, android (bị chặn bởi build)

Runner

RunnerCác công việc
blacksmith-16vcpu-ubuntu-2404Hầu hết công việc Linux, bao gồm phát hiện phạm vi
blacksmith-16vcpu-windows-2025checks-windows
macos-latestmacos, ios

Tương đương local

bash
pnpm check          # kiểu + lint + format
pnpm test           # test vitest
pnpm check:docs     # format tài liệu + lint + liên kết hỏng
pnpm release:check  # xác thực npm pack