41 lines
1.1 KiB
Bash
Executable File
41 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
# Make sure we are in the script's directory
|
|
cd "$(dirname "$0")"
|
|
|
|
# Read version from version.go
|
|
VERSION_LINE=$(grep "var Version =" version.go)
|
|
CURRENT_VERSION=$(echo "$VERSION_LINE" | sed -E 's/.*"([^"]+)".*/\1/')
|
|
|
|
if [ -z "$CURRENT_VERSION" ]; then
|
|
echo "❌ Error: Could not parse version from version.go"
|
|
exit 1
|
|
fi
|
|
|
|
# Split version by dot
|
|
IFS='.' read -r -a VERSION_PARTS <<< "$CURRENT_VERSION"
|
|
MAJOR="${VERSION_PARTS[0]}"
|
|
MINOR="${VERSION_PARTS[1]}"
|
|
PATCH="${VERSION_PARTS[2]}"
|
|
|
|
# Increment patch version
|
|
NEW_PATCH=$((PATCH + 1))
|
|
NEW_VERSION="$MAJOR.$MINOR.$NEW_PATCH"
|
|
|
|
echo "🚀 Incrementing version: $CURRENT_VERSION ➡️ $NEW_VERSION"
|
|
|
|
# Write back to version.go using perl for portable in-place edit
|
|
perl -pi -e "s/var Version = \"$CURRENT_VERSION\"/var Version = \"$NEW_VERSION\"/" version.go
|
|
|
|
# Update README.md version output
|
|
if [ -f README.md ]; then
|
|
perl -pi -e "s/goca v$CURRENT_VERSION/goca v$NEW_VERSION/g" README.md
|
|
fi
|
|
|
|
# Build the project
|
|
echo "🛠️ Building goca binary..."
|
|
go build -o goca
|
|
|
|
echo "🎉 Build successful! version: v$NEW_VERSION"
|