Skip to content

Save config first when holding m #462

Save config first when holding m

Save config first when holding m #462

name: Version Bumper and Tagger
on: push
jobs:
check-version-change:
if: github.repository_owner == 'Steamopollys'
runs-on: ubuntu-latest
outputs:
version_changed: ${{ steps.detect-version-change.outputs.version_changed }}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 2 # Fetch the current and previous commit for comparison
- name: Detect version change
id: detect-version-change
run: |
echo ::set-output name=version_changed::$(git diff HEAD^ HEAD -- manifest.json | grep -q '"version_number":' && echo "true" || echo "false")
bump-and-tag-version:
needs: check-version-change
if: needs.check-version-change.outputs.version_changed == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0 # Necessary for tagging to include all history
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.9'
- name: Bump version and create tag
run: |
import json
import re
from pathlib import Path
# Load and parse manifest.json
manifest_path = Path('manifest.json')
manifest = json.loads(manifest_path.read_text())
version_number = manifest['version_number']
# Update core/core.lua
core_lua_path = Path('core/core.lua')
core_lua_content = core_lua_path.read_text()
core_lua_content = re.sub(r'MODDED_VERSION = "\d+\.\d+\.\d+-STEAMODDED"', f'MODDED_VERSION = "{version_number}-STEAMODDED"', core_lua_content)
core_lua_path.write_text(core_lua_content)
# Output version number for later steps
print(f"::set-output name=version_number::{version_number}")
id: bump-version
shell: python
- name: Commit and push if changed
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: "Automatically bump version to ${{ needs.bump-and-tag-version.outputs.version_number }}"
file_pattern: core/core.lua injector.ps1
- name: Create and push tag
if: steps.bump-version.outputs.version_number
env:
VERSION: ${{ steps.bump-version.outputs.version_number }}
run: |
git tag $VERSION
git push origin $VERSION