Skip to content

chore(release): 루트 파일이 CLI 릴리스를 만드는 문제 정리하기 - #250

Merged
tkhwang merged 2 commits into
mainfrom
chore/release-path-rules
Oct 17, 2026
Merged

tkhwang merged 2 commits into
mainfrom
chore/release-path-rules

Conversation

@tkhwang

@tkhwang tkhwang commented Oct 17, 2026

Copy link
Copy Markdown
Owner

문제

#246, #249 에서 companion 작업이 CLI 2.39.0 릴리스 PR 을 만들었습니다. #248 의 진단이 틀렸습니다.

release-please 는 exclude-paths 를 디렉터리 접두어로만 비교합니다 (CommitExclude.isRelevant: file.indexOf(path + "/") === 0). 그래서 README.md, DESIGN.md, AGENTS.md 같은 루트 파일 항목은 처음부터 아무것도 제외하지 못했습니다. #245 의 feat(screensaver) 커밋(f17d0c8)이 README.md/DESIGN.md 를 함께 고쳐서 CLI 릴리스 대상이 되었습니다.

같은 규칙을 지난 커밋에 적용해 보면 이전 릴리스 PR 의 원인도 같습니다.

커밋 CLI 로 잡힌 이유
f17d0c8 feat(screensaver) README.md, README.ko.md, DESIGN.md
cc84a7e feat(docs) README.md, README.ko.md, DESIGN.md
89b55e0 fix(docs) README.md, README.ko.md
00ac05e feat(dashboard) AGENTS.md

변경

  • release-please-config.json: 동작하지 않는 루트 파일 항목을 지우고, 실제로 동작하는 디렉터리 항목(apps/companion, packages/contract, .github, docs, assets/readme)만 남깁니다. 동작은 바뀌지 않습니다.
  • AGENTS.md: 릴리스가 경로로 정해진다는 점과, 루트 문서 파일 변경은 docs / chore / build 커밋으로 따로 두고 feat / fix 커밋이나 feat(docs) 로 넣지 않는다는 규칙을 적습니다. release-please 는 docs 등 숨김 타입만 있으면 "No user facing commits" 로 릴리스를 건너뜁니다.

두 커밋 모두 숨김 타입(chore, docs)이라 이 PR 자체는 릴리스를 만들지 않습니다.

머지 전에 필요한 것

f17d0c8 은 이미 main 에 있으므로, 이 PR 을 머지해 main 에 push 가 생기면 release-please 가 CLI 2.39.0 PR 을 다시 엽니다. 먼저 #245 본문 끝에 아래 블록을 넣어 주세요. release-please 는 커밋에 연결된 PR 본문의 이 블록을 커밋 메시지 대신 읽습니다. companion 은 이미 그 뒤(7b8e907)에 2.34.0 으로 릴리스되어 영향이 없습니다.

BEGIN_COMMIT_OVERRIDE
docs(screensaver): companion 화면보호기 대시보드 문서 갱신 (기능은 workbranch-companion 2.34.0 에 포함)
END_COMMIT_OVERRIDE

확인

  • python3 -m json.tool release-please-config.json: 통과
  • release-please v17.3.0 의 CommitExclude 규칙을 v2.38.0 이후 커밋에 적용: override 가 없으면 f17d0c8 만 CLI 의 feat 로 남고, 나머지는 제외되거나 숨김 타입입니다.

- release-please 는 exclude-paths 를 디렉터리 접두어(path + "/")로만 비교하므로 README.md, DESIGN.md 같은 루트 파일 항목은 아무것도 제외하지 못했음
- 실제로 동작하는 디렉터리 항목(apps/companion, packages/contract, .github, docs, assets/readme)만 남겨, 설정만 보고 루트 파일이 빠진다고 오해하지 않도록 함
- release-please 가 커밋 scope 가 아니라 바뀐 경로로 CLI / companion 릴리스를 정한다는 점을 적음
- README.md, DESIGN.md, AGENTS.md 등 루트 파일 변경은 docs / chore / build 커밋으로 따로 두고, feat / fix 커밋이나 feat(docs) 로 넣지 않도록 함
- 이미 머지된 경우 PR 본문의 BEGIN_COMMIT_OVERRIDE 로 바로잡는 방법을 적음
@coderabbitai

coderabbitai Bot commented Oct 17, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 09cb8cae-fbc6-4a7d-b7e6-3d8fabfde005
  • 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

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 17, 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-10-17T20:13:02.777768Z 28a14b1 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.

@tkhwang
tkhwang merged commit 2dbd02e into main Oct 17, 2026
3 checks passed
@tkhwang
tkhwang deleted the chore/release-path-rules branch October 17, 2026 20:15
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