릴리스 워크플로우 (TinyCorn Studio 표준)
사용자가 "릴리스", "vX.Y.Z 출시", "새 버전을 git에 푸시", "설치 파일 빌드 및 릴리스"라고 말할 때 적용합니다. 전체 워크플로우를 실행하며, 비정상 상황이 감지되지 않는 한 각 단계를 다시 묻지 않습니다.
사전 조건
- 리포지토리에
CHANGELOG.md(Keep a Changelog) 파일이 있으며, 출시할 버전에 대한## [<version>] - <date>항목이 포함되어 있어야 합니다. - 리포지토리에 설치 파일 빌드 스크립트(보통
make-app.sh,VERSION변수 포함)가 있어야 합니다. gh가repo권한으로 로그인되어 있어야 합니다.- 작업 트리가 깨끗해야 합니다(모든 기능이 커밋되어 있어야 함).
단계
1. 버전 증가 (단일 소스)
sed -i '' -E 's/^(VERSION=).*/\1"0.5.0"/' make-app.sh
2. 설치 파일 빌드
./make-app.sh
ls -lh dist/
3. CHANGELOG.md 업데이트
Keep a Changelog 형식에 따라 새 항목을 맨 위에 추가합니다:
## [0.5.0] - 2026-10-18
### Added
- ...
### Fixed
- ...
4. 커밋
git add -A
git commit -m "Release v0.5.0"
5. main 브랜치로 병합 (feature 브랜치에 있는 경우)
git checkout main && git merge --ff-only <feature-branch>
6. Annotated 태그 생성 및 푸시
git tag -a v0.5.0 -m "v0.5.0"
git push origin main --tags
7. GitHub Release 생성 (설치 파일 포함)
릴리스 노트를 한국어로 작성합니다 (요약 + "새로운 기능" + "설치 방법"). 임시 파일에 저장한 후 다음을 실행합니다:
gh release create v0.5.0 dist/<App>-0.5.0.dmg \
--title "v0.5.0 — <요약>" \
--notes-file /tmp/release_notes_v0.5.0.md
8. 확인
gh release view v0.5.0
태그가 올바른 커밋에 있는지, 자산이 업로드되었는지, 노트가 올바르게 표시되는지 확인합니다.
자동화 스크립트
이 리포지토리에는 make-app.sh를 사용하는 macOS 도구에 대해 1~7단계를 실행하는 scripts/release.sh 스크립트가 있습니다:
./scripts/release.sh 0.5.0
규칙
- 설치 파일(DMG, ZIP)을 리포지토리에 커밋하지 마십시오 — GitHub Releases에만 첨부하세요.
dist/는.gitignore에 포함되어야 합니다. - CHANGELOG와 README는 동일한 릴리스에서 업데이트되어야 합니다.
- 태그는 항상 annotated 태그이며, 형식은
vX.Y.Z(SemVer)입니다. - 릴리스 노트는 한국어로 작성하며, 앱이 서명되지 않은 경우 앱을 여는 방법에 대한 안내(마우스 오른쪽 버튼 → 열기)를 포함합니다.
- 푸시 시 403 오류가 발생하면:
gh auth status를 확인하고,gh auth setup-git를 실행하며, 토큰이 조직에 대한 권한이 있는지 확인합니다.