File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 55## 1) Prerequisites
66
77- PR #9 (` Prepare v0.1.0 OSS alpha release notes ` )가 main에 머지되어야 함
8+ - PR #11 (` Add tag-triggered release workflow for v0.1.0 alpha ` )가 main에 머지되어야 함
89- ` README.md ` , ` CHANGELOG.md ` 에 릴리스 항목이 반영되어 있어야 함
910- CI(` ./gradlew test ` , ` ./gradlew assembleDebug ` )가 통과해야 함
1011
@@ -36,7 +37,20 @@ gh release create v0.1.0-oss-alpha.1 \
3637 --notes-file docs/release-notes-v0.1.0-oss-alpha.1.md
3738```
3839
39- ## 4) 릴리스 제한 범위(1차 Alpha)
40+ ## 4) 원클릭 릴리스 스크립트(선택)
41+
42+ ``` bash
43+ ./scripts/release-v0.1.0-oss-alpha.1.sh
44+ ```
45+
46+ 이 스크립트는 다음을 차례로 수행합니다.
47+
48+ - ` docs/release-notes-v0.1.0-oss-alpha.1.md ` 존재 확인
49+ - ` ./gradlew test ` , ` ./gradlew assembleDebug ` 실행
50+ - ` v0.1.0-oss-alpha.1 ` 태그 생성/푸시
51+ - GitHub Release 생성
52+
53+ ## 5) 릴리스 제한 범위(1차 Alpha)
4054
4155- DI(Hilt/Dagger) 미적용
4256- Navigation 라이브러리 미적용
Original file line number Diff line number Diff line change 1+ #! /usr/bin/env bash
2+ set -euo pipefail
3+
4+ TAG=" v0.1.0-oss-alpha.1"
5+ RELEASE_NOTES=" docs/release-notes-${TAG} .md"
6+ RELEASE_NAME=" ${TAG} - Android ViewModel Migration Lab Alpha"
7+
8+ create_release () {
9+ gh release create " $TAG " \
10+ --title " $RELEASE_NAME " \
11+ --notes-file " $RELEASE_NOTES "
12+ }
13+
14+ if ! command -v gh > /dev/null 2>&1 ; then
15+ echo " gh CLI is required: https://cli.github.com/"
16+ exit 1
17+ fi
18+
19+ if ! command -v git > /dev/null 2>&1 ; then
20+ echo " git is required"
21+ exit 1
22+ fi
23+
24+ if [ ! -f " $RELEASE_NOTES " ]; then
25+ echo " Missing release notes: $RELEASE_NOTES "
26+ exit 1
27+ fi
28+
29+ git fetch --all --prune
30+ git checkout main
31+ git pull origin main
32+
33+ ./gradlew test
34+ ./gradlew assembleDebug
35+
36+ if git rev-parse --verify " $TAG " > /dev/null 2>&1 ; then
37+ echo " Tag $TAG already exists locally."
38+ if gh release view " $TAG " > /dev/null 2>&1 ; then
39+ echo " Release $TAG already exists."
40+ exit 0
41+ fi
42+ echo " Tag exists but release is missing. Creating release for existing tag."
43+ create_release
44+ exit 0
45+ fi
46+
47+ git tag " $TAG "
48+ git push origin " $TAG "
49+
50+ create_release
You can’t perform that action at this time.
0 commit comments