project-auto-wizard 0.1.32 → 0.1.33

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.
package/README.md CHANGED
@@ -17,7 +17,7 @@ npx project-auto-wizard
17
17
  [![node](https://img.shields.io/badge/node-%3E%3D20.12-brightgreen)](package.json)
18
18
 
19
19
  <!-- AUTO-VERSION-SECTION: DO NOT EDIT MANUALLY -->
20
- ## 최신 버전 : v0.1.30 (2026-08-08)
20
+ ## 최신 버전 : v0.1.32 (2026-08-10)
21
21
 
22
22
  [전체 버전 기록 보기](CHANGELOG.md)
23
23
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "project-auto-wizard",
3
- "version": "0.1.32",
3
+ "version": "0.1.33",
4
4
  "description": "One command DevOps: npx wizard that installs GitHub-native AI Release Automation into any project",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -105,10 +105,41 @@ jobs:
105
105
  echo "proceed=$PROCEED" >> $GITHUB_OUTPUT
106
106
  if [ "$PROCEED" = "true" ]; then
107
107
  echo "release gate open (mode=$MODE, event=$EVENT)"
108
- else
109
- echo "not a release-confirm push in pr-flow mode — skipping (clean exit)"
108
+ exit 0
109
+ fi
110
+
111
+ echo "not a release-confirm push in pr-flow mode — skipping"
112
+
113
+ # Drift guard (issue #61): skipping is normal, but a version.yml that
114
+ # has run ahead of the newest tag is not — it means the version was
115
+ # bumped without a release, so npm silently stays behind. Six versions
116
+ # (0.1.26~0.1.31) went missing this way with every workflow green.
117
+ FILE_VERSION=$(grep -m1 '^version:' version.yml | sed 's/version:[ \t]*"\{0,1\}\([0-9][0-9.]*\)"\{0,1\}.*/\1/')
118
+ LATEST_TAG=$(git tag --list 'v*' --sort=-v:refname | head -n 1)
119
+ LATEST_VERSION="${LATEST_TAG#v}"
120
+
121
+ if [ -z "$FILE_VERSION" ] || [ -z "$LATEST_VERSION" ]; then
122
+ echo "drift guard skipped (no version.yml version or no tag yet)"
123
+ exit 0
110
124
  fi
111
125
 
126
+ HIGHER=$(printf '%s\n%s\n' "$FILE_VERSION" "$LATEST_VERSION" | sort -V | tail -n 1)
127
+ if [ "$FILE_VERSION" != "$LATEST_VERSION" ] && [ "$HIGHER" = "$FILE_VERSION" ]; then
128
+ echo "::error::version.yml($FILE_VERSION) is ahead of the newest tag($LATEST_TAG) but no release was published — this version will never reach npm. Recover with: Actions → PROJECT-RELEASE-PUBLISH → Run workflow (workflow_dispatch bypasses this gate)."
129
+ {
130
+ echo "### ⚠️ 릴리스 누락 감지"
131
+ echo ""
132
+ echo "- version.yml: \`$FILE_VERSION\`"
133
+ echo "- 최신 태그: \`$LATEST_TAG\`"
134
+ echo ""
135
+ echo "릴리스 확정 없이 버전만 올라갔습니다. 이 버전은 npm에 배포되지 않습니다."
136
+ echo "복구: Actions → PROJECT-RELEASE-PUBLISH → Run workflow"
137
+ } >> "$GITHUB_STEP_SUMMARY"
138
+ exit 1
139
+ fi
140
+
141
+ echo "drift guard ok (version.yml=$FILE_VERSION, latest tag=$LATEST_TAG)"
142
+
112
143
  - name: Read semver_auto option from version.yml
113
144
  id: semver_options
114
145
  if: >-