다음 릴리스를 준비하는 PR
Conventional Commits를 따르는 Git 기록과 API의 호환성 변경을 참고해 패키지 갱신을 준비한다. 릴리스 PR은 추가 커밋이 들어오면 최신 상태로 유지된다. Cargo.toml의 버전과 변경 기록을 사람이 확인할 수 있는 변경 사항으로 모으는 흐름이다.
게시된 패키지와 비교
Release-plz는 로컬 패키지와 Cargo 레지스트리에 게시된 패키지를 비교하는 방식에 초점을 둔다. API의 호환성을 깨는 변경은 Cargo-semver-checks를 활용해 탐지한다. 커밋 메시지만으로 변경 의도를 읽는 방식에 실제 API 비교 정보를 더하는 구조다.
병합 이후의 공개 단계
릴리스 PR을 병합하거나 버전을 직접 갱신한 뒤에는 태그 생성과 cargo publish를 통한 레지스트리 게시, 코드 호스팅 서비스의 릴리스 생성으로 연결된다. GitHub Action이나 명령행으로 사용할 수 있다. 준비 PR이 만들어진 상태와 패키지가 실제로 공개된 상태는 서로 구분해야 한다.
관련 문서
Cargo-release / Release Please / Git-cliff / Semantic-release / GoReleaser