Debug console QoL shortcuts #6
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) | |
# Update injector.ps1 | |
injector_ps1_path = Path('injector.ps1') | |
injector_ps1_content = injector_ps1_path.read_text() | |
injector_ps1_content = re.sub(r'https://codeload.github.com/Steamopollys/Steamodded/zip/refs/tags/\d+\.\d+\.\d+', f'https://codeload.github.com/Steamopollys/Steamodded/zip/refs/tags/{version_number}', injector_ps1_content) | |
injector_ps1_path.write_text(injector_ps1_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 | |