Versioning 을 workflow 로, 잡일 아니게
매 release 마다 pyproject.toml / package.json / Cargo.toml 의 버전 문자열을 수동 수정은 까먹기 쉽고 에러 잘 남. 자동화.
접근법
1) Conventional Commits + 자동 bump
- Commit 이
feat: ...,fix: ...,feat!: ...모양 따름. - 도구 (release-please, semantic-release) 가 commit log 읽고 patch / minor / major 결정.
- Bump PR (또는 commit) 이 버전 + changelog 업데이트 + tag 생성.
2) 'kind' input 가진 수동 workflow_dispatch
- Input
kind: choice [patch, minor, major]와 함께 release workflow trigger. - Workflow 가
npm version $kind/uv version --bump $kind, commit, tag, push. - Conventional Commits 보다 ceremony 적음; 사람 판단 더 많음.
3) Calendar versioning (CalVer)
- 날짜를 버전으로:
2026.04.30. - Bump 결정 없음; 새 날짜의 다음 release 가 자동으로 더 새로움.
- Semver 스타일 API 계약 없는 제품에 최선.