[SRLT-156] Oracle manifest 워크플로우로 정리#96
Hidden character warning
Conversation
|
Note
|
| 계층 / 파일 | 요약 |
|---|---|
프로덕션 워크플로우 업데이트 .github/workflows/ci-prd.yaml |
"Checkout manifest repository" 단계에서 저장소가 StartUpLight/STARLIGHT_MANIFEST에서 StartUpLight/STARLIGHT_MANIFEST_ORACLE로 변경됩니다. 토큰 및 path: 'manifest' 구성은 유지됩니다. |
스테이징 워크플로우 단순화 .github/workflows/ci-stg.yaml |
기존의 manifest 및 manifest-oracle 두 디렉토리에 대한 별도 체크아웃이 STARLIGHT_MANIFEST_ORACLE을 manifest 디렉토리로 단일 체크아웃으로 통합됩니다. 관련 update_manifest manifest-oracle 호출이 제거됩니다. |
예상 코드 리뷰 난이도
🎯 2 (Simple) | ⏱️ ~10 분
관련 PR
- StartUpLight/STARLIGHT_BE#70: Oracle 매니페스트 저장소 체크아웃 및 update_manifest 호출 로직 수정
- StartUpLight/STARLIGHT_BE#16: 매니페스트 저장소 체크아웃 및 배포 프로세스 변경
- StartUpLight/STARLIGHT_BE#66: CI 워크플로우 파일의 매니페스트 체크아웃 단계 수정
제안 라벨
✂️ CHORE, ☁️ DEPLOY
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
| Check name | Status | Explanation |
|---|---|---|
| Description Check | ✅ Passed | Check skipped - CodeRabbit’s high-level summary is enabled. |
| Docstring Coverage | ✅ Passed | No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. |
| Linked Issues check | ✅ Passed | Check skipped because no linked issues were found for this pull request. |
| Out of Scope Changes check | ✅ Passed | Check skipped because no linked issues were found for this pull request. |
| Title check | ✅ Passed | 제목은 PR의 주요 변경사항인 Oracle 매니페스트 워크플로우 통일을 명확하게 설명하고 있습니다. |
✏️ Tip: You can configure your own custom pre-merge checks in the settings.
✨ Finishing Touches
📝 Generate docstrings
- Create stacked PR
- Commit on current branch
🧪 Generate unit tests (beta)
- Create PR with unit tests
- Commit unit tests in branch
SRLT-156-워크플로우_정리
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Comment @coderabbitai help to get the list of available commands and usage tips.
Test Results246 tests 246 ✅ 9s ⏱️ Results for commit 39e54df. |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (3)
.github/workflows/ci-prd.yaml (1)
3-7:⚠️ Potential issue | 🟠 Major | ⚡ Quick win
pull_request트리거로 인해 프로덕션 매니페스트가 PR마다 갱신될 수 있습니다.현재 워크플로우는
main브랜치에 대한 PR 이벤트에서도 실행됩니다. Docker 이미지 빌드·푸시(push: true)와 매니페스트 업데이트 단계가 모두 포함되어 있으므로, PR이 열릴 때마다STARLIGHT_MANIFEST_ORACLE의production/deployment.yml이 갱신됩니다. 배포는 머지(push) 시에만 발생하도록 제한하는 것을 권장합니다.🔧 Proposed fix: `pull_request` 트리거 제거
on: push: branches: [ "main" ] - pull_request: - branches: [ "main" ]🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/ci-prd.yaml around lines 3 - 7, The workflow currently runs on both push and pull_request for branch "main", causing production manifest updates (e.g., STARLIGHT_MANIFEST_ORACLE -> production/deployment.yml) on every PR; remove the pull_request trigger (or restrict it) so the job that builds/pushes Docker images and updates manifests only runs on push (merge) to main—edit the on: block to delete or comment out the pull_request: branches: ["main"] entry and ensure downstream steps that reference STARLIGHT_MANIFEST_ORACLE and production/deployment.yml execute only under the push-triggered path..github/workflows/ci-stg.yaml (2)
3-7:⚠️ Potential issue | 🟠 Major | ⚡ Quick win[ci-prd.yaml와 동일]
pull_request트리거로 스테이징 매니페스트가 PR마다 갱신됩니다.
develop브랜치 PR이 열릴 때마다 Docker 빌드·푸시 및STARLIGHT_MANIFEST_ORACLE의staging/deployment.yml갱신이 실행됩니다. 스테이징 배포도 머지 이벤트(push)로만 트리거하는 것이 안전합니다.🔧 Proposed fix
on: push: branches: [ "develop" ] - pull_request: - branches: [ "develop" ]🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/ci-stg.yaml around lines 3 - 7, 현재 ci-stg 워크플로는 'on: pull_request: branches: ["develop"]'로 스테이징 매니페스트(STARLIGHT_MANIFEST_ORACLE -> staging/deployment.yml)를 PR 열릴 때마다 갱신하도록 되어 있어 이를 제거해야 합니다; 수정 방법은 ci-stg.yaml에서 'pull_request' 엔트리를 삭제(또는 PR 트리거를 사용하지 않도록 변경)하여 오직 'push' 트리거(브랜치 "develop")로만 배포/매니페스트 갱신이 실행되게 하고, 필요하면 PR 검사용 워크플로는 별도 파일로 분리하거나 'pull_request'를 다른 브랜치/필터로 제한하세요.
95-103:⚠️ Potential issue | 🟠 Major | ⚡ Quick win스테이징과 프로덕션 배포가 동일한
origin main브랜치로 리베이스되는 문제를 확인했습니다.ci-stg.yaml와 ci-prd.yaml 모두에서 동일한 패턴이 발견됩니다:
- ci-stg.yaml:
develop브랜치 트리거 →staging/deployment.yml수정 →git pull --rebase origin main으로 푸시- ci-prd.yaml:
main브랜치 트리거 →production/deployment.yml수정 →git pull --rebase origin main으로 푸시스테이징 배포는
develop브랜치에서 발생하지만 매니페스트 저장소의main브랜치로 리베이스되고 있습니다. 만약STARLIGHT_MANIFEST_ORACLE저장소가 환경별 브랜치(예:develop,staging)로 분리 관리되어야 한다면, 스테이징 워크플로우에서는 해당 브랜치로 리베이스해야 합니다. 현재 구조에서는 두 환경의 배포 커밋이 동일한 브랜치에 쌓여 병합 충돌이나 의도하지 않은 배포가 발생할 수 있습니다.브랜치 전략을 명확히 하고, 필요시 ci-stg.yaml의 97번 줄에서 리베이스 대상을 수정해주시기 바랍니다.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/ci-stg.yaml around lines 95 - 103, The staging workflow currently rebases and pushes manifests onto origin main; update the git commands in the for-loop (the lines containing git -C "$dir" pull --rebase origin main and git -C "$dir" push) so staging uses the environment-specific branch (e.g. develop or staging) instead of main — ideally replace the hardcoded "main" with a variable like $STARLIGHT_MANIFEST_BRANCH (set to develop/staging for ci-stg.yaml and to main for ci-prd.yaml) and ensure both the pull/rebase and the subsequent push target that same branch.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In @.github/workflows/ci-prd.yaml:
- Around line 3-7: The workflow currently runs on both push and pull_request for
branch "main", causing production manifest updates (e.g.,
STARLIGHT_MANIFEST_ORACLE -> production/deployment.yml) on every PR; remove the
pull_request trigger (or restrict it) so the job that builds/pushes Docker
images and updates manifests only runs on push (merge) to main—edit the on:
block to delete or comment out the pull_request: branches: ["main"] entry and
ensure downstream steps that reference STARLIGHT_MANIFEST_ORACLE and
production/deployment.yml execute only under the push-triggered path.
In @.github/workflows/ci-stg.yaml:
- Around line 3-7: 현재 ci-stg 워크플로는 'on: pull_request: branches: ["develop"]'로
스테이징 매니페스트(STARLIGHT_MANIFEST_ORACLE -> staging/deployment.yml)를 PR 열릴 때마다 갱신하도록
되어 있어 이를 제거해야 합니다; 수정 방법은 ci-stg.yaml에서 'pull_request' 엔트리를 삭제(또는 PR 트리거를 사용하지
않도록 변경)하여 오직 'push' 트리거(브랜치 "develop")로만 배포/매니페스트 갱신이 실행되게 하고, 필요하면 PR 검사용 워크플로는
별도 파일로 분리하거나 'pull_request'를 다른 브랜치/필터로 제한하세요.
- Around line 95-103: The staging workflow currently rebases and pushes
manifests onto origin main; update the git commands in the for-loop (the lines
containing git -C "$dir" pull --rebase origin main and git -C "$dir" push) so
staging uses the environment-specific branch (e.g. develop or staging) instead
of main — ideally replace the hardcoded "main" with a variable like
$STARLIGHT_MANIFEST_BRANCH (set to develop/staging for ci-stg.yaml and to main
for ci-prd.yaml) and ensure both the pull/rebase and the subsequent push target
that same branch.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 8e8f7e54-5708-40ad-a649-31ea3768f62b
📒 Files selected for processing (2)
.github/workflows/ci-prd.yaml.github/workflows/ci-stg.yaml
🚀 Why - 해결하려는 문제가 무엇인가요?
STARLIGHT_MANIFEST_ORACLE만 사용하면 됩니다.STARLIGHT_MANIFEST를 수정하지 않도록 정리했습니다.✅ What - 무엇이 변경됐나요?
STARLIGHT_MANIFEST업데이트를 제거했습니다.STARLIGHT_MANIFEST_ORACLE만 checkout하고 image tag를 업데이트하도록 변경했습니다.🛠️ How - 어떻게 해결했나요?
ci-stg.yaml,ci-prd.yaml의 manifest checkout 대상을StartUpLight/STARLIGHT_MANIFEST_ORACLE로 통일했습니다.STARLIGHT_MANIFEST자체 정리는 별도 작업에서 진행할 예정입니다.Summary by CodeRabbit
릴리스 노트