GitHub Actions CI

한 PR을 여러 Node 버전에서 같은 검증 순서로 통과시킨다

YAML은 이벤트, 실행 환경, 버전 매트릭스, 단계 명령으로 나뉜다. NestJS 프로젝트에서는 의존성 설치 뒤 빌드와 테스트를 같은 순서로 반복해 배포 전 신뢰도를 만든다.

event

PR 또는 push

변경이 들어오면 Actions가 새 실행을 만들고, 이전 실행과 독립된 runner를 준비한다.

strategy.matrix

Node 버전별 병렬 검증

18.x 현재 운영 기준과 호환성 확인
20.x 다음 런타임 기준의 회귀 확인
runner

ubuntu-latest

매 실행마다 깨끗한 환경에서 lockfile과 명령어만으로 같은 결과가 나와야 한다.

1 소스와 런타임 고정 checkout 레포지토리를 가져오고 matrix의 Node 버전을 설치한다.
2 의존성 재현 npm ci package-lock.json 기준으로 깨끗하게 설치한다.
3 품질 게이트 build · test · e2e 컴파일, 단위 테스트, E2E 테스트를 PR의 기본 조건으로 둔다.
4 결과 보관 if: always() 실패해도 커버리지 리포트를 남겨 원인을 추적한다.