Skip to content

Commit 9c52e97

Browse files
ops(release.sh): allow explicitely passing next release version
1 parent 41ff7b8 commit 9c52e97

File tree

1 file changed

+22
-12
lines changed

1 file changed

+22
-12
lines changed

ops/release.sh

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,12 @@ REPO_URL=$(git remote get-url origin | sed 's/\.git$//')
88
REPO_NAME=$(echo "$REPO_URL" | sed 's/.*://')
99
PACKAGE_JSON="package.json"
1010

11+
# --- Validate arguments ---
12+
if [ $# -gt 1 ]; then
13+
echo "Error: Too many arguments. Provide 0 or 1 argument (the next version)."
14+
exit 1
15+
fi
16+
1117
# --- Helper: get current version from package.json ---
1218
CURRENT_VERSION=$(jq -r '.version' "$PACKAGE_JSON")
1319

@@ -25,21 +31,25 @@ echo "----------------------------------------"
2531
echo "$CHANGELOG_BODY"
2632
echo "----------------------------------------"
2733

28-
# --- Step 2: Generate new version automatically ---
29-
if echo "$CHANGELOG_BODY" | grep -q "### 🚀 Features"; then
30-
echo "🚀 Features detected: bumping minor version"
31-
# Bump minor version
32-
IFS='.' read -r MAJOR MINOR PATCH <<< "$CURRENT_VERSION"
33-
NEW_VERSION="$MAJOR.$((MINOR + 1)).0"
34+
# --- Step 2: Generate new version ---
35+
if [ $# -eq 1 ]; then
36+
NEW_VERSION=$1
37+
echo "🔖 Using provided version: $NEW_VERSION (previous: $CURRENT_VERSION)"
3438
else
35-
echo "🐛 Patch changes: bumping patch version"
36-
# Bump patch version
37-
IFS='.' read -r MAJOR MINOR PATCH <<< "$CURRENT_VERSION"
38-
NEW_VERSION="$MAJOR.$MINOR.$((PATCH + 1))"
39+
if echo "$CHANGELOG_BODY" | grep -q "### 🚀 Features"; then
40+
echo "🚀 Features detected: bumping minor version"
41+
# Bump minor version
42+
IFS='.' read -r MAJOR MINOR PATCH <<< "$CURRENT_VERSION"
43+
NEW_VERSION="$MAJOR.$((MINOR + 1)).0"
44+
else
45+
echo "🐛 Patch changes: bumping patch version"
46+
# Bump patch version
47+
IFS='.' read -r MAJOR MINOR PATCH <<< "$CURRENT_VERSION"
48+
NEW_VERSION="$MAJOR.$MINOR.$((PATCH + 1))"
49+
fi
50+
echo "🔖 New version: $NEW_VERSION (previous: $CURRENT_VERSION)"
3951
fi
4052

41-
echo "🔖 New version: $NEW_VERSION (previous: $CURRENT_VERSION)"
42-
4353
# --- Step 3: Generate changelog file ---
4454
DATE=$(date +%Y-%m-%d)
4555
CHANGELOG_FILE="$CHANGELOGS_DIR/${DATE}_v${NEW_VERSION}.md"

0 commit comments

Comments
 (0)