Refactor versioning logic to increment version numbers and update versions.txt
All checks were successful
Texture Pack Packaging and Release / package-and-release (push) Successful in 9s
All checks were successful
Texture Pack Packaging and Release / package-and-release (push) Successful in 9s
This commit is contained in:
@ -24,21 +24,34 @@ jobs:
|
||||
- name: Set up ZIP tool
|
||||
run: sudo apt-get install zip -y
|
||||
|
||||
- name: Create version info
|
||||
- name: Calculate version number
|
||||
id: version
|
||||
run: |
|
||||
# Get current date for versioning
|
||||
DATE=$(date +"%Y.%m.%d")
|
||||
echo "VERSION=$DATE" >> $GITHUB_ENV
|
||||
|
||||
# Update versions.txt
|
||||
if [ ! -f versions.txt ]; then
|
||||
echo "Initial version: $DATE" > versions.txt
|
||||
# Read current version from versions.txt or initialize
|
||||
if [ -f versions.txt ]; then
|
||||
CURRENT_VERSION=$(tail -1 versions.txt | awk '{print $NF}')
|
||||
else
|
||||
echo "New version: $DATE" >> versions.txt
|
||||
CURRENT_VERSION="1.0.0"
|
||||
echo "Initial version: $CURRENT_VERSION" > versions.txt
|
||||
fi
|
||||
|
||||
echo "Pack version: $DATE"
|
||||
|
||||
# Split version into components
|
||||
MAJOR=$(echo $CURRENT_VERSION | cut -d. -f1)
|
||||
MINOR=$(echo $CURRENT_VERSION | cut -d. -f2)
|
||||
PATCH=$(echo $CURRENT_VERSION | cut -d. -f3)
|
||||
|
||||
# Increment version according to rules
|
||||
if [ $PATCH -lt 9 ]; then
|
||||
NEW_PATCH=$((PATCH + 1))
|
||||
NEW_VERSION="$MAJOR.$MINOR.$NEW_PATCH"
|
||||
else
|
||||
NEW_MINOR=$((MINOR + 1))
|
||||
NEW_VERSION="$MAJOR.$NEW_MINOR.0"
|
||||
fi
|
||||
|
||||
echo "VERSION=$NEW_VERSION" >> $GITHUB_ENV
|
||||
echo "New version: $NEW_VERSION" >> versions.txt
|
||||
echo "New version calculated: $NEW_VERSION"
|
||||
|
||||
- name: Package texture pack
|
||||
run: |
|
||||
@ -64,6 +77,13 @@ jobs:
|
||||
git config --global user.email "actions@gitea"
|
||||
git remote set-url origin https://x:${{ secrets.TOKEN }}@git.devbeni.lol/MineDivinity/pack.git
|
||||
|
||||
- name: Delete existing tag if present
|
||||
run: |
|
||||
if git rev-parse v${{ env.VERSION }} >/dev/null 2>&1; then
|
||||
git tag -d v${{ env.VERSION }}
|
||||
git push --delete origin v${{ env.VERSION }} || true
|
||||
fi
|
||||
|
||||
- name: Create Tag
|
||||
run: |
|
||||
git tag -a v${{ env.VERSION }} -m "Release v${{ env.VERSION }}"
|
||||
@ -71,18 +91,9 @@ jobs:
|
||||
|
||||
- name: Commit version update
|
||||
run: |
|
||||
# Pull changes and handle potential merge conflicts
|
||||
git pull origin main || true
|
||||
|
||||
# If conflict occurs, keep both version entries
|
||||
if git diff --name-only --diff-filter=U | grep -q "versions.txt"; then
|
||||
git checkout --ours versions.txt
|
||||
echo "New version: ${{ env.VERSION }}" >> versions.txt
|
||||
git add versions.txt
|
||||
fi
|
||||
|
||||
git pull origin main
|
||||
git add versions.txt
|
||||
git commit -m "Update to version ${{ env.VERSION }} [skip ci]" || echo "No changes to commit"
|
||||
git commit -m "Update to version ${{ env.VERSION }} [skip ci]"
|
||||
git push origin main
|
||||
|
||||
- name: Create Release
|
||||
|
@ -1,7 +1 @@
|
||||
New version: 2025.06.22
|
||||
New version: 2025.06.22
|
||||
New version: 2025.06.22
|
||||
New version: 2025.06.22
|
||||
New version: 2025.06.22
|
||||
New version: 2025.06.22
|
||||
New version: 2025.06.22
|
||||
1.0.0
|
Reference in New Issue
Block a user