From f640b24ecdcd5c54246083ea4e5b7b9c16b022eb Mon Sep 17 00:00:00 2001 From: B3ni Date: Sun, 22 Jun 2025 03:10:14 +0200 Subject: [PATCH] Refactor versioning logic to increment version numbers and update versions.txt --- .gitea/workflows/build-and-release.yml | 55 +++++++++++++++----------- versions.txt | 8 +--- 2 files changed, 34 insertions(+), 29 deletions(-) diff --git a/.gitea/workflows/build-and-release.yml b/.gitea/workflows/build-and-release.yml index 491710f..9cab106 100644 --- a/.gitea/workflows/build-and-release.yml +++ b/.gitea/workflows/build-and-release.yml @@ -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 diff --git a/versions.txt b/versions.txt index d9ceaff..afaf360 100644 --- a/versions.txt +++ b/versions.txt @@ -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 \ No newline at end of file