Runtime 에 matrix 계산
때로 matrix 를 hardcode 할 수 없어 — PR 에 뭐 바뀌었는지, monorepo 에 어떤 패키지가 있는지, 어떤 test 가 태그됐는지, config 파일이 어떤 플랫폼 선언하는지에 의존. Dynamic matrix 가 setup job 에서 matrix 계산하고 downstream matrix job 에 공급.
패턴
- Setup job 이 repo 점검 (변경 파일, 패키지 리스트 등).
- JSON 배열을 job output 으로 emit.
- Downstream matrix job 이
strategy.matrix.설정.: ${{ fromJSON(needs.setup.outputs. ) }} - 각 matrix cell 이 실제 작업 실행.
실제 예시
- Monorepo — 이 PR 에서 코드 바뀐 패키지만 test.
- 크로스 플랫폼 builder — repo 에서
platforms.json읽고 엔트리 당 matrix cell 실행. - Tag 기반 — test 프레임워크에 표시된 test 그룹 리스트, matrix cell 로 확장.