diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index e859494..3630e44 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -38,8 +38,45 @@ jobs: uses: actions/checkout@v4 - name: Update version run: | - chmod +x update-version.sh - ./update-version.sh + set -e + + # Extract version using grep/sed as fallback (works even with -SNAPSHOT) + current_version=$(xmllint --xpath "/*[local-name()='project']/*[local-name()='version']/text()" pom.xml) + + 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" + mvn versions:set -DnewVersion="$new_version" + mvn versions:commit + + # Remove unnecessary backup file + rm -f pom.xml.versionsBackup + + echo "✅ Done!" - name: Build and push uses: docker/build-push-action@v6 with: diff --git a/update-version.sh b/update-version.sh deleted file mode 100755 index 3141fa7..0000000 --- a/update-version.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/bash - -set -e - -# Extract version using grep/sed as fallback (works even with -SNAPSHOT) -current_version=$(xmllint --xpath "/*[local-name()='project']/*[local-name()='version']/text()" pom.xml) - -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" -mvn versions:set -DnewVersion="$new_version" -mvn versions:commit - -# Remove unnecessary backup file -rm -f pom.xml.versionsBackup - -echo "✅ Done!"