0에서 green Python CI까지
이번 레슨에서는 실제로 유지할 만한 첫 번째 완전한 워크플로를 만들어볼 거야. 프로젝트는 pytest와 ruff를 쓰는 작은 Python 패키지야. 목표는 PR과 main에서 lint, type-check, 테스트를 거치는 거지.
저장소 구성
pyproject.toml— Python 버전 + ruff + pytest + mypy 고정.src/mypkg/tests/.github/workflows/ci.yml— 우리가 쓸 파일.
워크플로가 하는 일
- PR, main 푸시, 수동 실행 조건에서 작동해.
- 단일 작업
quality-checks를ubuntu-latest에서 돌려. - Checkout, Python 3.12 설정, 캐시와 함께 의존성 설치, lint, type-check, 테스트를 수행해.
- 같은 PR에서 진행 중인 실행은 취소해.
아래 워크플로를 한 문서처럼 읽어봐. 보면 알겠지만 모든 줄이 제 역할을 해. 군더더기는 없어.