diff --git a/.github/workflows/dump-version.yml b/.github/workflows/dump-version.yml new file mode 100644 index 0000000..dd20c2d --- /dev/null +++ b/.github/workflows/dump-version.yml @@ -0,0 +1,75 @@ +name: Semantic Version Bump (Conventional Commits) + +on: + push: + branches: + - main + +jobs: + semver-bump: + runs-on: ubuntu-latest + if: github.event.head_commit.author.name != 'github-actions[bot]' + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Determine bump type from commit message + id: bump + run: | + COMMIT_MSG="${{ github.event.head_commit.message }}" + echo "🔍 Commit message: $COMMIT_MSG" + + if echo "$COMMIT_MSG" | grep -qE 'BREAKING CHANGE|!:'; then + echo "bump=major" >> $GITHUB_OUTPUT + elif echo "$COMMIT_MSG" | grep -qE '^feat(\(.+\))?:'; then + echo "bump=minor" >> $GITHUB_OUTPUT + elif echo "$COMMIT_MSG" | grep -qE '^fix(\(.+\))?:'; then + echo "bump=patch" >> $GITHUB_OUTPUT + else + echo "bump=none" >> $GITHUB_OUTPUT + fi + + - name: Bump version in fxmanifest.lua + if: steps.bump.outputs.bump != 'none' + run: | + FILE="fxmanifest.lua" + VERSION_LINE=$(grep -E "version ['\"]?[0-9]+\.[0-9]+\.[0-9]+['\"]?" "$FILE") + VERSION=$(echo "$VERSION_LINE" | grep -oE "[0-9]+\.[0-9]+\.[0-9]+") + + IFS='.' read -r MAJOR MINOR PATCH <<< "$VERSION" + + case "${{ steps.bump.outputs.bump }}" in + major) + MAJOR=$((MAJOR + 1)) + MINOR=0 + PATCH=0 + ;; + minor) + MINOR=$((MINOR + 1)) + PATCH=0 + ;; + patch) + PATCH=$((PATCH + 1)) + ;; + esac + + NEW_VERSION="$MAJOR.$MINOR.$PATCH" + sed -i "s/version ['\"]$VERSION['\"]/version '$NEW_VERSION'/" "$FILE" + echo "new_version=$NEW_VERSION" >> $GITHUB_ENV + + - name: Commit and push version bump + if: steps.bump.outputs.bump != 'none' + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git add fxmanifest.lua + + if git diff --cached --quiet; then + echo "⚠️ No version changes to commit." + exit 0 + fi + + COMMIT_MSG="${{ github.event.head_commit.message }}" + git commit -m "ci: bump fxmanifest version to ${{ env.new_version }} – $COMMIT_MSG" + git push diff --git a/fxmanifest.lua b/fxmanifest.lua index c131525..496f521 100644 --- a/fxmanifest.lua +++ b/fxmanifest.lua @@ -3,7 +3,7 @@ game 'gta5' lua54 'yes' author 'Kakarot' description 'Loading screen' -version '1.2.0' +version '1.2.3' files { 'assets/**', diff --git a/html/index.html b/html/index.html index 459db4c..f417493 100644 --- a/html/index.html +++ b/html/index.html @@ -11,6 +11,8 @@ + +