#!/bin/bash set -e # Extract version using grep/sed as fallback (works even with -SNAPSHOT) current_version=$(awk '// {count++; if(count == 2) print $0}' pom.xml | sed -n 's|.*\([^<]*\).*|\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" # Remove unnecessary backup file rm -f pom.xml.versionsBackup echo "✅ Done!"