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ệc | Mục đích | Khi nào chạy |
|---|---|---|
docs-scope | Phát hiện thay đổi chỉ tài liệu | Luôn luôn |
changed-scope | Phát hiện khu vực nào thay đổi (node/macos/android) | PR không phải tài liệu |
check | Kiểm tra kiểu TypeScript, lint, format | Thay đổi không phải tài liệu |
check-docs | Kiểm tra lint Markdown + liên kết hỏng | Tài liệu thay đổi |
code-analysis | Kiểm tra ngưỡng LOC (1000 dòng) | Chỉ PR |
secrets | Phát hiện secret bị rò rỉ | Luôn luôn |
build-artifacts | Build dist một lần, chia sẻ với các công việc khác | Không phải tài liệu, thay đổi node |
release-check | Xác thực nội dung npm pack | Sau khi build |
checks | Test Node/Bun + kiểm tra protocol | Không phải tài liệu, thay đổi node |
checks-windows | Test riêng cho Windows | Không phải tài liệu, thay đổi node |
macos | Swift lint/build/test + test TS | PR có thay đổi macos |
android | Gradle build + test | Khô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:
docs-scope+code-analysis+check(song song, ~1-2 phút)build-artifacts(bị chặn bởi các bước trên)checks,checks-windows,macos,android(bị chặn bởi build)
Runner
| Runner | Các công việc |
|---|---|
blacksmith-16vcpu-ubuntu-2404 | Hầu hết công việc Linux, bao gồm phát hiện phạm vi |
blacksmith-16vcpu-windows-2025 | checks-windows |
macos-latest | macos, ios |
Tương đương local
bashpnpm 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