refactor(scripts): update bump-version.sh for bootstrap architecture

- Remove lib/ccs and lib/ccs.ps1 version updates (now bootstraps)
- Update comments explaining v4.5.0+ architecture
- Use ASCII markers [OK]/[X]/[!] instead of emojis
- Update next steps to reflect new file list
This commit is contained in:
kaitranntt committed 2025-11-27 10:33:08 -05:00
1 parent 046a37b2a9
commit 713f9f6a19
1 file changed
+25 -37
+25 -37
View File
@@ -1,6 +1,9 @@
#!/usr/bin/env bash
# Bump CCS version
# Usage: ./scripts/bump-version.sh [major|minor|patch]
#
# v4.5.0+: Bootstrap architecture - shell scripts delegate to Node.js
# Version is maintained in: VERSION, package.json, installers/*
set -euo pipefail
@@ -10,7 +13,7 @@ VERSION_FILE="$CCS_DIR/VERSION"
# Check VERSION file exists
if [[ ! -f "$VERSION_FILE" ]]; then
echo "✗ Error: VERSION file not found at $VERSION_FILE"
echo "[X] Error: VERSION file not found at $VERSION_FILE"
exit 1
fi
@@ -20,7 +23,7 @@ echo "Current version: $CURRENT_VERSION"
# Parse version
if [[ ! "$CURRENT_VERSION" =~ ^([0-9]+)\.([0-9]+)\.([0-9]+)$ ]]; then
echo "✗ Error: Invalid version format in VERSION file"
echo "[X] Error: Invalid version format in VERSION file"
echo "Expected: MAJOR.MINOR.PATCH (e.g., 1.2.3)"
exit 1
fi
@@ -46,7 +49,7 @@ case "$BUMP_TYPE" in
PATCH=$((PATCH + 1))
;;
*)
echo "✗ Error: Invalid bump type '$BUMP_TYPE'"
echo "[X] Error: Invalid bump type '$BUMP_TYPE'"
echo "Usage: $0 [major|minor|patch]"
exit 1
;;
@@ -58,11 +61,12 @@ echo "New version: $NEW_VERSION"
echo ""
echo "This will update hardcoded versions in:"
echo " 1. VERSION file"
echo " 2. lib/ccs (bash executable)"
echo " 3. lib/ccs.ps1 (PowerShell executable)"
echo " 4. package.json (via sync-version.js)"
echo " 5. installers/install.sh"
echo " 6. installers/install.ps1"
echo " 2. package.json (via sync-version.js)"
echo " 3. installers/install.sh"
echo " 4. installers/install.ps1"
echo ""
echo "Note: lib/ccs and lib/ccs.ps1 are now bootstraps"
echo " (delegate to Node.js, no version hardcoded)"
echo ""
read -p "Continue? (y/N) " -n 1 -r
echo
@@ -74,63 +78,47 @@ fi
# Update VERSION file
echo "$NEW_VERSION" > "$VERSION_FILE"
echo "✓ Updated VERSION file to $NEW_VERSION"
echo "[OK] Updated VERSION file to $NEW_VERSION"
# Update ccs (bash executable)
CCS_BASH="$CCS_DIR/lib/ccs"
if [[ -f "$CCS_BASH" ]]; then
sed -i.bak "s/^CCS_VERSION=\".*\"/CCS_VERSION=\"$NEW_VERSION\"/" "$CCS_BASH"
rm -f "$CCS_BASH.bak"
echo "✓ Updated lib/ccs (bash executable)"
else
echo "⚠ lib/ccs not found, skipping"
fi
# Update ccs.ps1 (PowerShell executable)
CCS_PS1="$CCS_DIR/lib/ccs.ps1"
if [[ -f "$CCS_PS1" ]]; then
sed -i.bak "s/^\$CcsVersion = \".*\"/\$CcsVersion = \"$NEW_VERSION\"/" "$CCS_PS1"
rm -f "$CCS_PS1.bak"
echo "✓ Updated lib/ccs.ps1 (PowerShell executable)"
else
echo "⚠ lib/ccs.ps1 not found, skipping"
fi
# Note: lib/ccs and lib/ccs.ps1 are now lightweight bootstraps
# They delegate to Node.js via npx - no version variable needed
# Version is determined by the npm package at runtime
# Update installers/install.sh
INSTALL_SH="$CCS_DIR/installers/install.sh"
if [[ -f "$INSTALL_SH" ]]; then
sed -i.bak "s/^CCS_VERSION=\".*\"/CCS_VERSION=\"$NEW_VERSION\"/" "$INSTALL_SH"
rm -f "$INSTALL_SH.bak"
echo "✓ Updated installers/install.sh"
echo "[OK] Updated installers/install.sh"
else
echo "⚠ installers/install.sh not found, skipping"
echo "[!] installers/install.sh not found, skipping"
fi
# Update installers/install.ps1
INSTALL_PS1="$CCS_DIR/installers/install.ps1"
if [[ -f "$INSTALL_PS1" ]]; then
sed -i.bak "s/^\$CcsVersion = \".*\"/\$CcsVersion = \"$NEW_VERSION\"/" "$INSTALL_PS1"
sed -i.bak "s/^\\\$CcsVersion = \".*\"/\\\$CcsVersion = \"$NEW_VERSION\"/" "$INSTALL_PS1"
rm -f "$INSTALL_PS1.bak"
echo "✓ Updated installers/install.ps1"
echo "[OK] Updated installers/install.ps1"
else
echo "⚠ installers/install.ps1 not found, skipping"
echo "[!] installers/install.ps1 not found, skipping"
fi
# Sync version to package.json
echo "Syncing version to package.json..."
if node "$SCRIPT_DIR/sync-version.js"; then
echo "✓ Synced version to package.json"
echo "[OK] Synced version to package.json"
else
echo "✗ Error: Failed to sync version to package.json"
echo "[X] Error: Failed to sync version to package.json"
exit 1
fi
echo ""
echo "✓ Version bumped to $NEW_VERSION"
echo "[OK] Version bumped to $NEW_VERSION"
echo ""
echo "Next steps:"
echo " 1. Review changes: git diff"
echo " 2. Commit: git add VERSION package.json lib/ccs lib/ccs.ps1 installers/install.sh installers/install.ps1"
echo " 2. Commit: git add VERSION package.json installers/install.sh installers/install.ps1"
echo " 3. Commit: git commit -m \"chore: bump version to $NEW_VERSION\""
echo " 4. Tag: git tag v$NEW_VERSION"
echo " 5. Push: git push origin main && git push origin v$NEW_VERSION"