This commit is contained in:
parent
56e3ca3cd6
commit
7bfe1507dd
2 changed files with 43 additions and 0 deletions
|
@ -36,6 +36,8 @@ jobs:
|
|||
driver-opts: network=host
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
- name: Update version
|
||||
run: update-version.sh
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
|
|
41
update-version.sh
Executable file
41
update-version.sh
Executable file
|
@ -0,0 +1,41 @@
|
|||
#!/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!"
|
Loading…
Reference in a new issue