Skip to content

chore: develop 삭제 금지 ruleset 분리 - #553

Merged
chanwoo7 merged 1 commit into
developfrom
chore/develop-no-deletion-ruleset
Nov 2, 2026
Merged

chanwoo7 merged 1 commit into
developfrom
chore/develop-no-deletion-ruleset

Conversation

@chanwoo7

@chanwoo7 chanwoo7 commented Nov 2, 2026

Copy link
Copy Markdown
Member

개요

릴리즈 PR(head develop)을 머지할 때마다 delete_branch_on_merge가 develop을 지워서, 매번 main 기준으로 다시 만들고 있었습니다. 이 PR은 develop이 남도록 삭제 금지 규칙을 별도 ruleset으로 분리합니다.

  • develop-protection에 이미 deletion = true가 있지만, 같은 ruleset의 Admin 우회(bypass_mode = "always")가 자동 삭제에도 적용됩니다.
  • 우회 권한은 ruleset 단위로 적용되므로, 우회자가 없는 ruleset에 삭제 금지를 두면 Admin 머지에서도 삭제가 막힙니다.

변경 사항

  • develop-no-deletion ruleset 신설: refs/heads/develop에 deletion만 두고 우회자는 없습니다.
  • develop-protection: deletion을 빼고 PR·CI·force push 규칙과 Admin 우회(릴리즈 뒤 fast-forward 동기화용)만 남겼습니다.
  • terraform/README.md: 관리 범위와 state 유실 시 import 목록에 새 ruleset을 추가했습니다.

검증

  • terraform plan(두 ruleset 대상): 1 to add, 1 to change, 0 to destroy입니다.
    • AWS 자격 증명 없이 GitHub 리소스만 보려고 -target을 썼습니다.
  • 머지 뒤 terraform apply로 반영하고, rules/branches/develop 조회로 두 ruleset이 함께 걸리는지 확인합니다.
  • 자동 삭제가 실제로 막히는지는 다음 릴리즈 PR 머지 때 확인합니다.
    • 임시 브랜치로 미리 시험하려 했지만, 자동 모드 권한 분류기가 공유 레포의 ruleset 생성을 막아 하지 못했습니다.

플랜 대조

제안 항목 상태
우회자 없는 삭제 금지 전용 ruleset 신설 한 것
develop-protection의 Admin 우회는 ff 동기화용으로 유지 한 것
chore/ 브랜치 PR → 머지 → terraform apply 한 것(apply는 머지 뒤)
다음 릴리즈 때 develop 유지 확인 다음 릴리즈에서 확인

릴리즈 PR(head develop)을 Admin이 머지할 때마다 delete_branch_on_merge가 develop을 지워 매번 재생성하고 있었음.
develop-protection에 deletion이 있지만 같은 ruleset의 Admin 우회(always)가 자동 삭제에도 적용됨.

- 우회자 없는 develop-no-deletion ruleset을 새로 두고 deletion을 옮김(우회 권한은 ruleset 단위).
- develop-protection은 PR·CI·force push 규칙과 Admin 우회(릴리즈 뒤 ff 동기화용)만 유지.
- README 관리 범위·import 목록 갱신.

terraform plan(-target 두 ruleset): 1 to add, 1 to change. 실제 차단은 apply 뒤 다음 릴리즈 머지에서 확인.
@coderabbitai

coderabbitai Bot commented Nov 2, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

Share

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-02T15:25:06.840120Z a8ff90b PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown

🩺 NestJS Doctor — 90/100 (Excellent)

진단 493건 (error 13).

Category error warning info
architecture 1 1 44
correctness 0 269 0
performance 0 41 28
schema 0 0 76
security 12 21 0
architecture / security 상위 항목
  • error security/security/no-hardcoded-secrets: Variable 'SEED_PASSWORD' appears to contain a hardcoded secret.
  • error architecture/architecture/no-manual-instantiation: Manual instantiation of 'OutboxRepository' detected. Use dependency injection instead.
  • info architecture/architecture/no-barrel-export-internals: Barrel file re-exports internal type 'IAuditLogRepository'.
  • warning security/security/no-exposed-env-vars: Direct 'process.env.NODE_ENV' access in 'AuthController'. Use ConfigService instead.
  • warning security/security/require-guards-on-endpoints: Endpoint 'start' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'callback' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'refresh' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'logout' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'sellerLogin' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'sellerRefresh' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'sellerLogout' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'devIssueToken' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'adminLogin' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'adminRefresh' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'adminLogout' has no @UseGuards() at class or method level.

오탐 포함 가능 · 기준 docs/guide/architecture-conventions.md

@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown

🧹 knip — dead-code 리포트

요약 항목 없음
전체 리포트
(knip 출력 없음 — 이슈 0이거나 실행 실패)

청소 후보(오탐 가능) · 기준 docs/guide/architecture-conventions.md

@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown

Coverage report

St.❔
Category Percentage Covered / Total
🟢 Statements 98.02% 10814/11032
🟢 Branches 92.97% 4126/4438
🟢 Functions 97.56% 2157/2211
🟢 Lines 98.6% 9837/9977

Test suite run success

4352 tests passing in 391 suites.

Report generated by 🧪jest coverage report action from a8ff90b

@codecov

codecov Bot commented Nov 2, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@chanwoo7
chanwoo7 merged commit c78d832 into develop Nov 2, 2026
18 checks passed
@chanwoo7
chanwoo7 deleted the chore/develop-no-deletion-ruleset branch November 2, 2026 15:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant