Skip to content

Commit d72a22d

Browse files
authored
test: 수정된 베타 버전 증가 로직 테스트 (#250)
* fix: 베타 버전 증가 로직 수정 changeset version이 베타 접미사가 있는 버전을 증가시키지 않는 문제 해결: 1. changeset version 실행 전에 베타 접미사 임시 제거 2. changeset version으로 버전 증가 (1.1.6 → 1.1.7) 3. 증가된 버전에 베타 접미사 재적용 (1.1.7-beta.timestamp) 이제 베타 상태에서도 올바른 버전 증가가 가능함 * test: 수정된 베타 버전 증가 로직 테스트 워크플로우가 베타 상태에서 올바르게 버전을 증가시키는지 검증: - 임시 베타 제거 → changeset version → 베타 재적용 - 1.1.6-beta.xxx → 1.1.7-beta.yyy - 2.0.7-beta.xxx → 2.0.8-beta.yyy
1 parent 05303f1 commit d72a22d

File tree

2 files changed

+58
-27
lines changed

2 files changed

+58
-27
lines changed

.changeset/test-fixed-increment.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
"vue-pivottable": patch
3+
"@vue-pivottable/plotly-renderer": patch
4+
---
5+
6+
test: 수정된 베타 버전 증가 로직 테스트
7+
8+
**수정된 워크플로우 검증:**
9+
10+
1. changeset 실행 전 베타 접미사 제거
11+
2. changeset version으로 버전 증가 (1.1.6 → 1.1.7, 2.0.7 → 2.0.8)
12+
3. 증가된 버전에 베타 접미사 재적용
13+
14+
**기대 결과:**
15+
- vue-pivottable: 1.1.6-beta.xxx → 1.1.7-beta.yyy
16+
- plotly-renderer: 2.0.7-beta.xxx → 2.0.8-beta.yyy
17+
- lazy-table-renderer: 변경 없음 (changeset 제외)

.github/workflows/release-develop.yml

Lines changed: 41 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,30 @@ jobs:
6868
fi
6969
done
7070
71-
# Apply changesets and consume them
71+
# Remove beta suffixes temporarily so changeset can properly increment versions
72+
echo "Temporarily removing beta suffixes for proper version increments..."
73+
74+
# Remove beta suffix from main package
75+
MAIN_VERSION=$(node -p "require('./package.json').version")
76+
if [[ "$MAIN_VERSION" == *"-beta."* ]]; then
77+
CLEAN_MAIN=$(echo "$MAIN_VERSION" | sed 's/-beta\.[0-9]*$//')
78+
npm version $CLEAN_MAIN --no-git-tag-version
79+
echo "✓ Main package: $MAIN_VERSION → $CLEAN_MAIN"
80+
fi
81+
82+
# Remove beta suffix from sub-packages
83+
for pkg in packages/*/; do
84+
if [ -d "$pkg" ] && [ -f "$pkg/package.json" ]; then
85+
PKG_VERSION=$(node -p "require('./$pkg/package.json').version")
86+
if [[ "$PKG_VERSION" == *"-beta."* ]]; then
87+
CLEAN_PKG=$(echo "$PKG_VERSION" | sed 's/-beta\.[0-9]*$//')
88+
cd "$pkg" && npm version $CLEAN_PKG --no-git-tag-version && cd ../..
89+
echo "✓ $(basename $pkg): $PKG_VERSION → $CLEAN_PKG"
90+
fi
91+
fi
92+
done
93+
94+
# Apply changesets and consume them (now versions will properly increment)
7295
pnpm changeset version
7396
7497
# Ensure beta versions on develop branch
@@ -89,44 +112,35 @@ jobs:
89112
fi
90113
}
91114
92-
# Check which packages were changed by changeset version
93-
# Only apply beta timestamps to packages that were actually modified
94-
echo "Checking which packages were modified by changeset..."
115+
# Apply beta suffixes to packages processed by changeset
116+
echo "Applying beta timestamps to packages processed by changeset..."
95117
96-
# Check main package
118+
# Check main package - if no beta suffix, it was processed by changeset
97119
NEW_MAIN=$(node -p "require('./package.json').version")
98-
if [ "$ORIGINAL_MAIN" != "$NEW_MAIN" ] || [[ "$NEW_MAIN" != *"-beta."* ]]; then
99-
BETA_MAIN=$(update_beta_timestamp "$NEW_MAIN" "$TIMESTAMP")
100-
if [ "$NEW_MAIN" != "$BETA_MAIN" ]; then
101-
npm version $BETA_MAIN --no-git-tag-version
102-
CHANGED_PACKAGES="vue-pivottable"
103-
echo "✓ Updated vue-pivottable: $NEW_MAIN → $BETA_MAIN"
104-
else
105-
echo "✓ vue-pivottable already has correct beta version: $NEW_MAIN"
106-
fi
120+
if [[ "$NEW_MAIN" != *"-beta."* ]]; then
121+
BETA_MAIN="${NEW_MAIN}-beta.${TIMESTAMP}"
122+
npm version $BETA_MAIN --no-git-tag-version
123+
CHANGED_PACKAGES="vue-pivottable"
124+
echo "✓ Updated vue-pivottable: $NEW_MAIN → $BETA_MAIN"
107125
else
108-
echo "✓ vue-pivottable unchanged: $NEW_MAIN"
126+
echo "✓ vue-pivottable already has beta suffix: $NEW_MAIN"
109127
fi
110128
111-
# Check sub-packages
129+
# Check sub-packages - if no beta suffix, they were processed by changeset
112130
for pkg in packages/*/; do
113131
if [ -d "$pkg" ] && [ -f "$pkg/package.json" ]; then
114132
cd "$pkg"
115133
PKG_NAME=$(basename "$pkg")
116134
NEW_VERSION=$(node -p "require('./package.json').version")
117135
118-
# Only update if package was changed by changeset OR doesn't have beta suffix
119-
if [ "${ORIGINAL_VERSIONS[$PKG_NAME]}" != "$NEW_VERSION" ] || [[ "$NEW_VERSION" != *"-beta."* ]]; then
120-
BETA_VERSION=$(update_beta_timestamp "$NEW_VERSION" "$TIMESTAMP")
121-
if [ "$NEW_VERSION" != "$BETA_VERSION" ]; then
122-
npm version $BETA_VERSION --no-git-tag-version
123-
CHANGED_PACKAGES="$CHANGED_PACKAGES $PKG_NAME"
124-
echo "✓ Updated $PKG_NAME: $NEW_VERSION → $BETA_VERSION"
125-
else
126-
echo "✓ $PKG_NAME already has correct beta version: $NEW_VERSION"
127-
fi
136+
# If no beta suffix, it was processed by changeset, so add beta
137+
if [[ "$NEW_VERSION" != *"-beta."* ]]; then
138+
BETA_VERSION="${NEW_VERSION}-beta.${TIMESTAMP}"
139+
npm version $BETA_VERSION --no-git-tag-version
140+
CHANGED_PACKAGES="$CHANGED_PACKAGES $PKG_NAME"
141+
echo "✓ Updated $PKG_NAME: $NEW_VERSION → $BETA_VERSION"
128142
else
129-
echo "✓ $PKG_NAME unchanged: $NEW_VERSION"
143+
echo "✓ $PKG_NAME already has beta suffix: $NEW_VERSION"
130144
fi
131145
cd -
132146
fi

0 commit comments

Comments
 (0)