레버 8 개
CI 더 빨리 하려면 대략 우선 순위로 다음 중 하나 이상 공격:
- Job 병렬화 — 독립 작업을 병렬 job 으로 wall-clock 감소.
- 적극 caching — install, build output, Docker layer, 모델 weight.
- 더 큰 runner 사용 — CPU 바인드 step 에 코어 두 배가 종종 시간 절반. 선형 비용, sub-linear 시간? 승리.
- 해당 안 되는 거 skip — paths filter, 조건 job.
- Concurrency cancel-in-progress — 오래된 run kill.
- PR 에 더 작은 test subset — PR 엔 smoke, main 엔 full.
- 더 빠른 설치 도구 — uv vs pip, pnpm vs npm, cache 된 docker buildx.
- Test sharding — 느린 suite 를 runner 간 분할.
추측 말고 측정
최적화 전에 run timeline 봐. 가장 긴 step 이 후보. GitHub 의 run 페이지가 step 별 기간 보여줌; gh run view --log 가 raw 타이밍. 최악 최적화, 재측정, 반복.