이 문서는 vllm-hyperaccel의 릴리스 프로세스를 설명합니다. 모든 릴리스는 자동화된 스크립트와 GitHub Actions를 통해 수행됩니다.
- 메인 브랜치에서 작업하고 있어야 합니다
- 작업 디렉토리가 깨끗해야 합니다 (커밋되지 않은 변경사항이 없어야 함)
- Python 3.10+ 및 uv가 설치되어 있어야 합니다
버전 범프 스크립트를 사용하여 버전을 업데이트하고 릴리스 브랜치를 생성합니다:
# 패치 버전 범프 (x.y.Z)
python scripts/release/bump_up_version.py --micro --release-branch
# 마이너 버전 범프 (x.Y.0)
python scripts/release/bump_up_version.py --minor --release-branch
# 메이저 버전 범프 (X.0.0)
python scripts/release/bump_up_version.py --major --release-branch# 개발 버전 (예: 현재 버전에 .dev1 추가)
python scripts/release/bump_up_version.py --additional-tag=".dev1" --release-branch
# 릴리스 후보 버전 (예: 현재 버전에 rc1 추가)
python scripts/release/bump_up_version.py --additional-tag="rc1" --release-branch
# 알파/베타 버전 (예: 현재 버전에 a1, b1 추가)
python scripts/release/bump_up_version.py --additional-tag="a1" --release-branch
python scripts/release/bump_up_version.py --additional-tag="b1" --release-branch주의: --major, --minor, --micro 옵션들은 한 번에 하나씩만 사용할 수 있습니다.
# 실제 변경 없이 어떤 변경이 일어날지 확인
python scripts/release/bump_up_version.py --minor --dry-run스크립트는 다음 작업을 자동으로 수행합니다:
- 버전 업데이트:
pyproject.toml파일의 version 필드를 새 버전으로 업데이트 - 릴리스 브랜치 생성:
release/v<version>형태의 브랜치 생성 - 변경사항 커밋: 버전 변경사항을 커밋 (
Bump up version to <version> for release) - 브랜치 푸시: 릴리스 브랜치를 origin에 푸시
릴리스 브랜치가 생성되면:
- GitHub에서
release/v<version>브랜치를main브랜치로 머지하는 Pull Request를 생성합니다 - PR 제목은
Release v<version>형태로 작성합니다 - PR 설명에는 주요 변경사항과 릴리스 노트를 포함합니다
Pull Request가 생성되면 GitHub Actions가 자동으로 실행됩니다:
- 릴리스 브랜치에 대한 빌드 테스트 실행
- Python 3.10, 3.11, 3.12 버전에서 유닛 테스트 실행
- 패키지 빌드 검증
- Git 태그 생성 (
v<version>) - 패키지 빌드 (
uv build) - PyPI에 wheel 파일 업로드
- GitHub Release 생성 (자동 릴리스 노트 포함)
- 버전 문자열은 Python Versioning 규칙을 따라야 합니다
- 정식 릴리스: Local version은 허용되지 않습니다 (예:
1.3.4+cu121형태 금지) - 시맨틱 버전 규칙:
- MAJOR: 호환되지 않는 API 변경
- MINOR: 기존 호환성을 유지하면서 기능 추가
- PATCH: 기존 호환성을 유지하면서 버그 수정
- Pre-release 버전 지원:
- dev: 개발 버전 (예:
1.2.3.dev1) - a/alpha: 알파 버전 (예:
1.2.3a1) - b/beta: 베타 버전 (예:
1.2.3b1) - rc: 릴리스 후보 (예:
1.2.3rc1)
- dev: 개발 버전 (예:
# 1. 현재 버전 확인
cat pyproject.toml | grep version
# 2. 마이너 버전 범프 (예: 0.1.0 -> 0.2.0)
python scripts/release/bump_up_version.py --minor --release-branch
# 3. GitHub에서 PR 생성
# 4. 리뷰 및 승인
# 5. PR 머지 시 자동으로 릴리스 완료# 릴리스 후보 버전 (예: 0.1.0 -> 0.2.0rc1)
python scripts/release/bump_up_version.py --minor --additional-tag="rc1" --release-branch
# 또는 개발 버전 (예: 0.1.0 -> 0.2.0.dev1)
python scripts/release/bump_up_version.py --minor --additional-tag=".dev1" --release-branch
# 또는 베타 버전 (예: 0.2.0 -> 0.2.0b1)
python scripts/release/bump_up_version.py --minor --additional-tag="b1" --release-branch참고: 버전 범프와 추가 태그는 별도의 명령어로 실행해야 합니다.
- 작업 디렉토리가 깨끗하지 않은 경우: 변경사항을 커밋하거나 스태시한 후 다시 시도
- 메인 브랜치가 아닌 경우:
git checkout main으로 메인 브랜치로 이동 - 권한 오류: GitHub 토큰이 올바르게 설정되어 있는지 확인
- 빌드 실패: 의존성과 테스트가 모두 통과하는지 확인