Từ source đến quyết định release
Quality gate hợp nhất
Mục đích
Biết chính xác thay đổi cần kiểm tra
CI không chạy toàn bộ repository cho một thay đổi nhỏ. Việc xác định đúng phạm vi ảnh hưởng giúp phản hồi nhanh hơn, đồng thời vẫn kiểm tra đủ các service có khả năng bị ảnh hưởng.
Dữ liệu đầu vào
Diff, cấu hình và phạm vi ảnh hưởng
Pipeline dùng Git diff, submodule pointer, package/lockfile, root configuration và workflow cùng kết quả detect affected services để chọn đúng nhóm Node.js, Web, AI hoặc Kubernetes.
Điều kiện pass
Tất cả job bắt buộc đều xanh
Node.js và Web phải pass lint, type-check, unit test và build. AI phải pass Ruff, mypy và pytest. Manifest phải render thành công và pass kubeconform strict trước khi release được chuyển sang bước build image.
Đánh đổi & kiểm soát
Tối ưu thời gian nhưng vẫn an toàn
Chạy theo matrix giúp CI nhanh hơn. Để tránh bỏ sót dependency, thay đổi ở common package, lockfile, workflow hoặc deploy script được xem là diện rộng. CI dừng trước GHCR, production secret và lệnh deploy.
PASS·Tất cả job bắt buộc pass; release được phép chuyển sang Build Images.
FAIL·Có job fail; dừng pipeline, đọc log, sửa source rồi chạy lại quality gate.