@sleighmaster/bmad 1.5.0 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -109,54 +109,44 @@
|
|
|
109
109
|
</check>
|
|
110
110
|
</step>
|
|
111
111
|
|
|
112
|
-
<step n="3" goal="
|
|
113
|
-
<critical
|
|
112
|
+
<step n="3" goal="릴리즈 워크플로우 트리거">
|
|
113
|
+
<critical>🚀 RELEASE TRIGGER - GitHub Actions 릴리즈 워크플로우 실행</critical>
|
|
114
114
|
|
|
115
|
-
<output>⚠️
|
|
115
|
+
<output>⚠️ **릴리즈 확인**
|
|
116
116
|
|
|
117
117
|
**버전:** {{new_version}}
|
|
118
|
-
**대상
|
|
118
|
+
**대상 브랜치:** master (최신 커밋)
|
|
119
119
|
**릴리즈 노트:** (위 내용 참조)
|
|
120
120
|
|
|
121
|
-
|
|
121
|
+
GitHub Actions가 다음을 자동으로 수행합니다:
|
|
122
|
+
1. CHANGELOG.md 생성 및 커밋
|
|
123
|
+
2. CHANGELOG 커밋에 태그 생성
|
|
124
|
+
3. GitHub Release 생성
|
|
125
|
+
4. npm 패키지 배포
|
|
122
126
|
</output>
|
|
123
127
|
|
|
124
|
-
<ask
|
|
128
|
+
<ask>릴리즈 워크플로우를 실행하시겠습니까? [y/n]</ask>
|
|
125
129
|
|
|
126
130
|
<check if="user confirms">
|
|
127
|
-
<action>
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
{{release_notes}}"
|
|
131
|
+
<action>GitHub Actions 워크플로우 트리거:
|
|
132
|
+
gh workflow run release-on-tag.yml -f version={{new_version}}
|
|
131
133
|
</action>
|
|
132
134
|
|
|
133
|
-
<check if="
|
|
134
|
-
<output>✅
|
|
135
|
-
</check>
|
|
136
|
-
|
|
137
|
-
<check if="태그 생성 실패">
|
|
138
|
-
<output>🚫 태그 생성 실패: {{error_message}}</output>
|
|
139
|
-
<action>HALT</action>
|
|
140
|
-
</check>
|
|
135
|
+
<check if="트리거 성공">
|
|
136
|
+
<output>✅ 릴리즈 워크플로우가 트리거되었습니다.
|
|
141
137
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
</action>
|
|
145
|
-
|
|
146
|
-
<check if="push 성공">
|
|
147
|
-
<output>✅ 태그 Push 완료: {{new_version}}
|
|
148
|
-
|
|
149
|
-
GitHub Actions가 릴리즈를 자동으로 생성합니다.
|
|
150
|
-
릴리즈 페이지: https://github.com/{{owner}}/{{repo}}/releases/tag/{{new_version}}
|
|
138
|
+
워크플로우 실행 상태 확인:
|
|
139
|
+
gh run list --workflow=release-on-tag.yml --limit=1
|
|
151
140
|
</output>
|
|
152
141
|
</check>
|
|
153
142
|
|
|
154
|
-
<check if="
|
|
155
|
-
<output
|
|
143
|
+
<check if="트리거 실패">
|
|
144
|
+
<output>🚫 워크플로우 트리거 실패: {{error_message}}
|
|
156
145
|
|
|
157
|
-
|
|
158
|
-
|
|
146
|
+
수동으로 실행해주세요:
|
|
147
|
+
GitHub → Actions → Release → Run workflow → version: {{new_version}}
|
|
159
148
|
</output>
|
|
149
|
+
<action>HALT</action>
|
|
160
150
|
</check>
|
|
161
151
|
</check>
|
|
162
152
|
|
|
@@ -166,17 +156,16 @@
|
|
|
166
156
|
</check>
|
|
167
157
|
</step>
|
|
168
158
|
|
|
169
|
-
<step n="4" goal="릴리즈 완료
|
|
170
|
-
<output>🎉 **릴리즈
|
|
159
|
+
<step n="4" goal="릴리즈 완료 확인">
|
|
160
|
+
<output>🎉 **릴리즈 워크플로우 실행됨!**
|
|
171
161
|
|
|
172
162
|
**버전:** {{new_version}}
|
|
173
|
-
**태그:** {{new_version}}
|
|
174
163
|
**릴리즈 URL:** https://github.com/{{owner}}/{{repo}}/releases/tag/{{new_version}}
|
|
175
164
|
|
|
176
|
-
|
|
177
|
-
1. GitHub
|
|
178
|
-
2.
|
|
179
|
-
3.
|
|
165
|
+
**확인 사항:**
|
|
166
|
+
1. GitHub Actions 실행 완료 확인: gh run list --workflow=release-on-tag.yml --limit=1
|
|
167
|
+
2. 릴리즈 페이지에서 CHANGELOG 및 릴리즈 노트 확인
|
|
168
|
+
3. npm 패키지 배포 확인 (해당하는 경우)
|
|
180
169
|
</output>
|
|
181
170
|
</step>
|
|
182
171
|
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
2
|
# BMad6GitHub - Pre-push Hook
|
|
3
|
-
# master/main 브랜치로 직접 푸시 방지
|
|
3
|
+
# 1. master/main 브랜치로 직접 푸시 방지
|
|
4
|
+
# 2. 태그 푸시 시 CHANGELOG.md 업데이트 여부 검증
|
|
4
5
|
|
|
5
6
|
# 푸시 대상 분석
|
|
6
7
|
while read local_ref local_sha remote_ref remote_sha; do
|
|
8
|
+
# master/main 직접 푸시 차단
|
|
7
9
|
if echo "$remote_ref" | grep -qE "refs/heads/(master|main)$"; then
|
|
8
10
|
echo ""
|
|
9
11
|
echo "=========================================="
|
|
@@ -18,6 +20,34 @@ while read local_ref local_sha remote_ref remote_sha; do
|
|
|
18
20
|
echo ""
|
|
19
21
|
exit 1
|
|
20
22
|
fi
|
|
23
|
+
|
|
24
|
+
# 태그 푸시 시 CHANGELOG.md 업데이트 검증
|
|
25
|
+
if echo "$remote_ref" | grep -qE "^refs/tags/"; then
|
|
26
|
+
tag_name=$(echo "$remote_ref" | sed 's|refs/tags/||')
|
|
27
|
+
|
|
28
|
+
# 이전 태그 찾기
|
|
29
|
+
prev_tag=$(git tag --sort=-version:refname | grep -v "^${tag_name}$" | head -1)
|
|
30
|
+
|
|
31
|
+
if [ -n "$prev_tag" ]; then
|
|
32
|
+
# 이전 태그 이후 CHANGELOG.md가 변경되었는지 확인
|
|
33
|
+
changelog_changed=$(git diff --name-only "$prev_tag"..HEAD -- CHANGELOG.md 2>/dev/null)
|
|
34
|
+
|
|
35
|
+
if [ -z "$changelog_changed" ]; then
|
|
36
|
+
echo ""
|
|
37
|
+
echo "=========================================="
|
|
38
|
+
echo " ERROR: CHANGELOG.md가 업데이트되지 않았습니다!"
|
|
39
|
+
echo "=========================================="
|
|
40
|
+
echo ""
|
|
41
|
+
echo "태그 '${tag_name}' 푸시 전에 CHANGELOG.md를 업데이트해 주세요."
|
|
42
|
+
echo ""
|
|
43
|
+
echo " 1. /bmad-os-draft-changelog 실행"
|
|
44
|
+
echo " 2. CHANGELOG.md 커밋"
|
|
45
|
+
echo " 3. 태그 재생성 후 푸시"
|
|
46
|
+
echo ""
|
|
47
|
+
exit 1
|
|
48
|
+
fi
|
|
49
|
+
fi
|
|
50
|
+
fi
|
|
21
51
|
done
|
|
22
52
|
|
|
23
53
|
exit 0
|