Skip to content

PR 라이프사이클 자동화

CI 모니터링과 리뷰 해결을 포함한 PR 생성부터 머지까지의 자동화 워크플로우입니다.

개요

PR 라이프사이클 자동화는 전체 풀 리퀘스트 워크플로우를 처리합니다:

사전 검증 (빌드, 테스트, 린트)

PR 생성 (gh pr create)

CI 모니터링 루프 (최대 10분, 5회 재시도)

리뷰 해결 루프 (최대 3회)

머지 & 정리

워크플로우 단계

1단계: 사전 검증

PR 생성 전 확인 사항:

  • 커밋되지 않은 변경사항 없음
  • 로컬 빌드 통과
  • 로컬 테스트 통과
  • 로컬 린트 통과
  • 브랜치가 리모트에 푸시됨

2단계: PR 생성

구조화된 PR 설명 생성:

## Summary
- 이 PR이 하는 일 (1-3개 항목)

## Changes
- 주요 변경사항 목록

## Test Plan
- [ ] 단위 테스트 통과
- [ ] 통합 테스트 통과
- [ ] 수동 테스트 완료

PR 제목은 컨벤셔널 커밋 형식: feat(scope): description

3단계: CI 모니터링 루프

┌──────────────────────────────────────────────────┐
│              CI 모니터링 루프                      │
│                                                   │
│  CI 상태 확인 ──▶ 전체 통과? ──▶ 완료            │
│       │                 │                         │
│       │            아니오 (실패)                    │
│       │                 │                         │
│       │      ┌──────────▼──────────┐              │
│       │      │ 실패 진단          │              │
│       │      │ 이슈 수정          │              │
│       │      │ 수정 푸시          │              │
│       │      └──────────┬──────────┘              │
│       │                 │                         │
│       │          재시도 < 5회?                     │
│       │         ├── 예 → 재확인                   │
│       │         └── 아니오 → 중단                  │
│       │                                           │
│       └── 대기중? 60초 후 재확인 (최대 10분)       │
└──────────────────────────────────────────────────┘

CI 실패 분류:

분류자동 수정예시
린트 에러가능npm run lint --fix
타입 에러타입 수정누락된 타입 어노테이션
테스트 실패코드 수정어서션 불일치
빌드 에러빌드 수정누락된 의존성
불안정 테스트재실행gh run rerun <id>

4단계: 리뷰 해결 루프

모든 리뷰 코멘트 읽기

분류 (버그/스타일/제안/질문)

모든 이슈를 단일 커밋으로 수정

푸시 및 리뷰 재요청

반복 (최대 3회)

코멘트 우선순위:

유형우선순위조치
버그/로직 오류크리티컬즉시 수정
스타일/컨벤션중간제안 적용
제안/선택사항낮음평가 후 응답
질문낮음코멘트로 답변

5단계: 머지 & 정리

  • 모든 CI 체크 통과 확인
  • 리뷰 승인 확인
  • Squash 머지 및 브랜치 삭제
  • main 체크아웃 및 pull

타임아웃 보호

파라미터기본값설명
CI 대기 타임아웃10분CI 완료 대기 최대 시간
CI 재시도 횟수5회수정-재확인 최대 시도 횟수
폴링 간격60초CI 상태 확인 간격
리뷰 루프3회리뷰 해결 최대 횟수

사용법

슬래시 커맨드

bash
# 기본 PR 라이프사이클 (squash 머지, main 브랜치)
/jikime:pr-lifecycle

# 커스텀 베이스 브랜치
/jikime:pr-lifecycle --base develop

# Draft PR
/jikime:pr-lifecycle --draft

# 머지 커밋 (squash 대신)
/jikime:pr-lifecycle --merge

# 머지 후 브랜치 유지
/jikime:pr-lifecycle --no-delete-branch

커맨드 옵션

옵션설명기본값
--base <branch>PR의 베이스 브랜치main
--squashSquash 머지true
--merge머지 커밋false
--no-delete-branch머지 후 브랜치 유지false
--draftDraft PR로 생성false

스킬로 사용

Skill("jikime-workflow-pr-lifecycle")

관련 문서

Released under the MIT License.