Matrix cho phép khai báo một job rồi CI tự nhân bản job đó theo tổ hợp các biến — mỗi tổ hợp chạy song song trên runner riêng.
yaml
strategy:
fail-fast: false
matrix:
node: [20, 22]
os: [ubuntu-latest, windows-latest]Khai báo trên sinh ra 4 job. Dùng khi sản phẩm phải chạy trên nhiều môi trường thật: thư viện hỗ trợ nhiều version runtime, app phải chạy cả Linux lẫn Windows, hoặc test với nhiều version database.
Lưu ý:
- Số job = tích các chiều. Thêm một chiều 3 giá trị là nhân ba chi phí — chỉ thêm chiều khi thật sự có người dùng ở tổ hợp đó.
include/excludeđể bỏ tổ hợp vô nghĩa (vd chỉ test Windows với version LTS mới nhất).fail-fast: true(mặc định) hủy toàn bộ matrix khi một job hỏng — tiết kiệm runner nhưng che mất thông tin "lỗi này chỉ xảy ra ở Node 20 hay ở mọi version". Khi cần chẩn đoán, đặtfalse.- Matrix không phải công cụ chia nhỏ test suite; chia test suite dùng sharding.