Remove all references to deleted workflows (ci-run.yml, CI Required Gate, sec-audit, pub-docker-img, pub-release, pub-homebrew-core, pr-intake-checks, pr-labeler, pr-auto-response, pr-check-stale, pr-check-status, pr-label-policy, workflow-sanity, main-promotion-gate, sec-codeql, sec-vorpal, etc.). Rewrite docs to match the current 4 workflows: - ci.yml (PR checks: test + build) - release.yml (automatic beta release on push to master) - ci-full.yml (manual full cross-platform build matrix) - promote-release.yml (manual stable release) Files rewritten: - docs/ci-map.md — complete rewrite for current workflows - docs/release-process.md — new two-tier release model (beta/stable) - .github/workflows/main-branch-flow.md — simplified delivery flows - .github/workflows/README.md — removed deleted helper scripts Files updated (stale CI references removed): - docs/pr-workflow.md - docs/reviewer-playbook.md - CONTRIBUTING.md - Vietnamese locale sync: docs/vi/ and docs/i18n/vi/ (ci-map, pr-workflow, release-process, reviewer-playbook) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3.6 KiB
3.6 KiB
Bản đồ CI Workflow
Tài liệu này giải thích từng GitHub workflow làm gì, khi nào chạy và liệu nó có nên chặn merge hay không.
Để biết hành vi phân phối theo từng sự kiện qua PR, merge, push và release, xem .github/workflows/master-branch-flow.md.
Workflows
CI (.github/workflows/ci.yml)
- Trigger: pull request lên
master - Mục đích: chạy test và build release binary trên Linux và macOS
- Jobs:
test—cargo nextest run --lockedvới mold linkerbuild— ma trận release build (x86_64-unknown-linux-gnu,aarch64-apple-darwin)
- Merge gate: cả
testvàbuildphải pass trước khi merge
Beta Release (.github/workflows/release.yml)
- Trigger: push lên
master(mỗi PR được merge) - Mục đích: build, đóng gói và publish beta pre-release với Docker image
- Jobs:
version— tínhvX.Y.Z-beta.<run_number>từCargo.tomlbuild— ma trận release 5 target (linux x86_64/aarch64, macOS x86_64/aarch64, Windows x86_64)publish— tạo GitHub pre-release với archives + SHA256SUMSdocker— build và push Docker image đa nền tảng lên GHCR (beta+ version tag)
CI Full Matrix (.github/workflows/ci-full.yml)
- Trigger: chỉ
workflow_dispatchthủ công - Mục đích: build release binary trên các target bổ sung không có trong PR CI
- Jobs:
build— ma trận 3 target (aarch64-unknown-linux-gnu,x86_64-apple-darwin,x86_64-pc-windows-msvc)
- Ghi chú: hữu ích để xác minh cross-compilation trước stable release
Promote Release (.github/workflows/promote-release.yml)
- Trigger:
workflow_dispatchthủ công với inputversion(ví dụ0.2.0) - Mục đích: build, đóng gói và publish stable release (không phải pre-release) với Docker image
- Jobs:
validate— xác nhận version input khớpCargo.toml, xác nhận tag chưa tồn tạibuild— cùng ma trận 5 target như Beta Releasepublish— tạo GitHub stable release với archives + SHA256SUMSdocker— build và push Docker image đa nền tảng lên GHCR (latest+ version tag)
Bản đồ Trigger
| Workflow | Trigger |
|---|---|
| CI | Pull request lên master |
| Beta Release | Push lên master |
| CI Full Matrix | Chỉ dispatch thủ công |
| Promote Release | Chỉ dispatch thủ công |
Hướng dẫn triage nhanh
- CI thất bại trên PR: kiểm tra
.github/workflows/ci.yml— xem log jobtestvàbuild. - Beta release thất bại sau merge: kiểm tra
.github/workflows/release.yml— xem log jobversion,build,publishvàdocker. - Promote release thất bại: kiểm tra
.github/workflows/promote-release.yml— xem jobvalidate(version/tag không khớp) và các jobbuild/publish/docker. - Vấn đề build đa nền tảng: chạy CI Full Matrix thủ công qua
.github/workflows/ci-full.ymlđể test các target bổ sung.
Quy tắc bảo trì
- Giữ các kiểm tra chặn merge mang tính quyết định và tái tạo được (
--lockedkhi áp dụng được). - Tuân theo
docs/release-process.mdđể kiểm tra cadence release và kỷ luật version. - Ưu tiên quyền workflow tường minh (least privilege).
- Giữ chính sách nguồn Actions hạn chế theo allowlist đã được phê duyệt (xem
docs/actions-source-policy.md).