Matrix 는 Cartesian 곱 그 이상
Matrix 는 나열된 차원의 모든 조합을 확장하지만, 보통 전체 곱을 돌리는 게 아니라 결과를 모양짓기 원해. 세 가지 제어:
include:— Cartesian 곱 위에 특정 cell (추가 필드 포함) 추가.exclude:— Cartesian 곱에서 특정 cell 제거.fail-fast: false— 하나 실패해도 모든 cell 계속 실행 (기본은 true).
자주 쓸 패턴
- flag 와 함께 실험 cell 추가. 3.10-3.12 외에
continue-on-error: true로 Python 3.13 — PR 안 막아. - 해당 안 되는 조합 skip. Postgres 16 + Python 3.10 은 driver 가 지원 안 할 수 있음 — exclude.
- Cell 별 extra config 주입. 다른 DB connection string, 다른 timeout, 다른 test marker.
- Dynamic matrix. 이전 job 의
jobs.outputs에서 matrix 생성 (reuse track 에서 다룸).
fail-fast tradeoff
fail-fast: true (기본) 는 cell 하나 실패 즉시 나머지 cell 취소. 분 절약; 정보 손실. fail-fast: false 는 모든 거 완료까지 돔. PR 엔 true (빠른 feedback), main 엔 false (full visibility).