Skip to content

fix: commitlint body 길이 제한 dependabot 예외 처리 - #37

Merged
koreahghg merged 2 commits into
developfrom
fix/commitlint-dependabot-body-length
Jul 26, 2026
Merged

fix: commitlint body 길이 제한 dependabot 예외 처리#37
koreahghg merged 2 commits into
developfrom
fix/commitlint-dependabot-body-length

Conversation

@koreahghg

Copy link
Copy Markdown
Member

💡 배경 및 개요

dependabot이 올리는 PR들의 commitlint 체크가 계속 실패하고 있었어요. 원인은 dependabot이 자동 생성하는 커밋 본문의 "Commits" 링크 줄(패키지 changelog URL)이 @commitlint/config-conventionalbody-max-line-length(기본 100자) 규칙에 걸리기 때문입니다. 패키지 스코프/이름이 길수록(e.g. @tanstack/react-query) URL이 길어져서 쉽게 초과합니다.

이 저장소의 커밋 컨벤션(AGENTS.md)상 사람이 작성하는 커밋은 애초에 본문 없이 한 줄 제목만 쓰므로, 이 규칙은 사실상 dependabot 커밋에만 영향을 주고 있었어요.

📃 작업내용

  • commitlint.config.jsbody-max-line-length 규칙 비활성화 추가 (URL은 줄바꿈이 불가능하고, 사람 커밋은 본문이 없어 영향 없음)
  • 실제로 실패했던 PR #36의 커밋 메시지로 로컬에서 commitlint 재검증 → 통과 확인

🙋‍♂️ 리뷰노트

  • subject-case처럼 규칙 자체를 끄는 방식을 택했습니다. 줄 길이 제한을 늘리는 방식도 고려했지만, 패키지명 길이에 따라 URL 길이가 매번 달라져서 임계값을 늘려도 근본적으로 재발할 수 있어 규칙을 끄는 쪽이 더 견고하다고 판단했습니다.
  • 사람이 작성하는 커밋은 본문을 쓰지 않는 컨벤션이라 이 규칙 비활성화가 실질적인 안전장치를 없애지는 않습니다.

✅ PR 체크리스트

  • 이 작업으로 인해 변경이 필요한 문서가 변경되었나요? (e.g. .env, 노션, README)
  • 이 작업을 하고나서 공유해야할 팀원들에게 공유되었나요? (e.g. "API 개발 완료됐어요", "환경값 추가되었어요")
  • 작업한 코드가 정상적으로 동작하나요? (실패했던 커밋 메시지로 로컬 재검증 완료)
  • Merge 대상 브랜치가 올바른가요?
  • PR과 관련 없는 작업이 있지는 않나요?

🎸 기타

이 PR이 머지되면 기존에 열려있는 dependabot PR들(#31~#36)의 commitlint 체크는 자동으로 다시 통과하지 않고, 각 PR에서 dependabot이 재푸시(rebase)해야 최신 develop 기준으로 다시 체크가 돌아갑니다. 필요하면 각 PR에 @dependabot rebase를 코멘트해서 재트리거할 수 있어요.

🤖 Generated with Claude Code

@koreahghg
koreahghg merged commit eda9507 into develop Jul 26, 2026
5 checks passed
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