52 lines
1.5 KiB
Bash
Executable file
52 lines
1.5 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
# Extract version using grep/sed as fallback (works even with -SNAPSHOT)
|
|
current_version=$(awk '/<version>/ {count++; if(count == 2) print $0}' pom.xml | sed -n 's|.*<version>\([^<]*\)</version>.*|\1|p')
|
|
|
|
if [[ -z "$current_version" ]]; then
|
|
echo "❌ Failed to extract version from pom.xml"
|
|
exit 1
|
|
fi
|
|
|
|
# Strip "-SNAPSHOT" if present
|
|
base_version="${current_version%-SNAPSHOT}"
|
|
|
|
# Split into major.minor.patch
|
|
IFS='.' read -r major minor patch <<< "$base_version"
|
|
|
|
# Handle missing patch (e.g. 1.0)
|
|
patch=${patch:-0}
|
|
|
|
# Increment minor, reset patch
|
|
minor=$((minor + 1))
|
|
patch=0
|
|
|
|
# Preserve -SNAPSHOT if it was present
|
|
if [[ "$current_version" == *-SNAPSHOT ]]; then
|
|
new_version="${major}.${minor}.${patch}-SNAPSHOT"
|
|
else
|
|
new_version="${major}.${minor}.${patch}"
|
|
fi
|
|
|
|
# Apply it with Maven
|
|
echo "🔧 Updating version: $current_version → $new_version"
|
|
TAG=$(echo "$new_version" | tr '[:upper:]' '[:lower:]')
|
|
sed -i "s|forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/devfw-cicd/michals-silly-game-backend:.*|forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/devfw-cicd/michals-silly-game-backend:$TAG|" k8/deployment.yaml
|
|
echo "reference changed to $TAG"
|
|
mvn versions:set -DnewVersion="$TAG"
|
|
mvn versions:commit
|
|
git config --local user.email "github-actions[bot]@users.noreply.github.com"
|
|
git config --local user.name "GitHub Actions Bot"
|
|
git stash
|
|
git pull
|
|
git stash pop
|
|
git add .
|
|
git commit -m "Automated update by Forgejo Actions"
|
|
git push origin HEAD:${{ github.ref_name }}
|
|
|
|
# Remove unnecessary backup file
|
|
rm -f pom.xml.versionsBackup
|
|
|
|
echo "✅ Done!"
|