|
1 | | -name: cicd action |
| 1 | +language: 'ko-KR' # 리뷰 언어 설정 (전체 시스템 메시지에 영향) |
| 2 | +early_access: false # 얼리엑세스 기능 사용 여부 |
| 3 | +tone_instructions: '모든 설명과 리뷰는 공손하고 간결하게, 한국어로 작성해 주세요.' # 리뷰 말투 스타일 요청 |
2 | 4 |
|
3 | | -on: |
4 | | - push: |
5 | | - branches: |
6 | | - - main |
| 5 | +reviews: |
| 6 | + profile: 'assertive' # 리뷰 스타일: chill (최소 피드백) / assertive (꼼꼼한 피드백) |
| 7 | + request_changes_workflow: true # 수정 요청이 있으면 자동으로 Request Changes 처리, 없으면 Approve |
| 8 | + high_level_summary: true # PR 요약 생성 |
| 9 | + high_level_summary_in_walkthrough: true # 워크스루에도 요약 표시 |
| 10 | + auto_title_placeholder: '@coderabbitai' # PR 제목 자동 생성을 위한 키워드 |
| 11 | + review_status: true # 리뷰 상태 메시지 출력 |
| 12 | + commit_status: true # GitHub 상태 체크와 연동 (리뷰 중: pending / 완료: success) |
| 13 | + fail_commit_status: false # 리뷰 실패 시 커밋 상태를 failure로 표시할지 여부 |
| 14 | + collapse_walkthrough: false # 워크스루 접기 기능 비활성화 (false = 항상 펼쳐짐) |
| 15 | + changed_files_summary: true # 변경 파일 요약 표시 |
| 16 | + sequence_diagrams: true # 시퀀스 다이어그램 생성 |
| 17 | + estimate_code_review_effort: true # 코드 리뷰 난이도/예상 시간 추정 표시 |
| 18 | + assess_linked_issues: true # 연결된 이슈 반영 여부 평가 |
| 19 | + related_issues: true # 관련 이슈 제안 |
| 20 | + related_prs: true # 관련 PR 제안 |
| 21 | + suggested_labels: true # 라벨 추천 |
| 22 | + auto_apply_labels: false # 추천 라벨 자동 적용 여부 |
| 23 | + suggested_reviewers: true # 리뷰어 추천 |
| 24 | + auto_assign_reviewers: false # 리뷰어 자동 할당 여부 |
| 25 | + poem: false # 리뷰에 시 포함 x |
| 26 | + summarize: true # 리뷰 요약 포함 |
| 27 | + comment_mode: inline # 줄 단위 코멘트 작성 |
| 28 | + suggestions: true # 코드 수정 diff 제안 포함 |
| 29 | + accessibility_checks: true # 접근성 리뷰 포함 |
| 30 | + abort_on_close: true # PR 닫히면 리뷰 중단 |
| 31 | + disable_cache: false # 캐시 사용 (false = 캐시 사용함) |
7 | 32 |
|
8 | | -jobs: |
9 | | - build: |
10 | | - runs-on: ubuntu-latest |
| 33 | + # 🔍 리뷰 대상 브랜치 및 자동 리뷰 설정 |
| 34 | + auto_review: |
| 35 | + enabled: true # 자동 리뷰 활성화 |
| 36 | + auto_incremental_review: true # push할 때마다 증분 리뷰 수행 |
| 37 | + drafts: false # draft 상태 PR은 리뷰 제외 |
| 38 | + base_branches: # 기본 브랜치 외 리뷰 대상 브랜치 |
| 39 | + - '^main$' |
| 40 | + - '^develop$' |
| 41 | + - '^feature/.*$' |
| 42 | + - '^hotfix/.*$' |
11 | 43 |
|
12 | | - steps: |
13 | | - - name: Checkout source code |
14 | | - uses: actions/checkout@v3 |
| 44 | + # 🧼 리뷰 제외할 파일/디렉토리 |
| 45 | + path_filters: |
| 46 | + - '!**/node_modules/**' # node_modules 제외 |
| 47 | + - '!**/*.lock' # yarn.lock, package-lock.json 제외 |
| 48 | + - '!**/*.snap' # snapshot 파일 제외 |
15 | 49 |
|
16 | | - - name: Check Node.js version |
17 | | - run: node -v |
| 50 | +# 🧠 Finishing Touches (AI가 자동 생성하는 보조 기능들) |
| 51 | +finishing_touches: |
| 52 | + docstrings: |
| 53 | + enabled: true # 함수에 docstring 자동 생성 |
| 54 | + unit_tests: |
| 55 | + enabled: false # 유닛 테스트 자동 생성 (false = 비활성화) |
18 | 56 |
|
19 | | - - name: Install pnpm |
20 | | - run: npm install -g pnpm |
| 57 | +# 💬 챗봇 설정 |
| 58 | +chat: |
| 59 | + auto_reply: true # @coderabbitai 태그 없이도 자동 응답 |
21 | 60 |
|
22 | | - - name: Create .env file |
23 | | - run: | |
24 | | - echo "VITE_API_BASE_URL=${{ secrets.VITE_API_BASE_URL }}" >> .env |
25 | | - - name: Install dependencies |
26 | | - run: pnpm install |
27 | | - |
28 | | - - name: Configure AWS credentials |
29 | | - uses: aws-actions/configure-aws-credentials@v4 |
30 | | - with: |
31 | | - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} |
32 | | - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} |
33 | | - aws-region: ${{ secrets.AWS_REGION }} |
34 | | - |
35 | | - - name: Generate build |
36 | | - run: pnpm run build |
37 | | - |
38 | | - - name: Deploy to S3 |
39 | | - run: | |
40 | | - aws s3 cp --recursive --region ap-northeast-2 dist s3://${{ secrets.AWS_BUCKET_NAME }} |
41 | | -
|
42 | | - - name: Invalidate CloudFront Cache |
43 | | - run: aws cloudfront create-invalidation --distribution-id ${{ secrets.AWS_DISTRIBUTION_ID }} --paths "/*" |
44 | | - continue-on-error: true |
45 | | - |
46 | | - - name: Notify Discord |
47 | | - if: success() |
48 | | - run: | |
49 | | - curl -H "Content-Type: application/json" \ |
50 | | - -X POST \ |
51 | | - -d "{\"content\": \"✅ 배포가 완료되었습니다! 🎉 (브랜치: main)\"}" \ |
52 | | - ${{ secrets.DISCORD_WEBHOOK_URL }} |
| 61 | +# 🧾 코드 생성 관련 설정 (특히 docstring 생성 언어) |
| 62 | +code_generation: |
| 63 | + docstrings: |
| 64 | + language: 'ko-KR' # Docstring 생성 시 한국어 사용 |
0 commit comments