From aa44b052a9892a75e77d854544e5f2a2e34e6702 Mon Sep 17 00:00:00 2001 From: Max Litruv Boonzaayer Date: Sat, 19 Jul 2025 18:37:57 +1000 Subject: [PATCH] automation --- .github/workflows/build-windows.yml | 87 +++++++++++++++++++++++++++++ README.md | 2 + build-windows.bat | 22 ++++++++ 3 files changed, 111 insertions(+) create mode 100644 .github/workflows/build-windows.yml create mode 100644 build-windows.bat diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml new file mode 100644 index 0000000..02e5875 --- /dev/null +++ b/.github/workflows/build-windows.yml @@ -0,0 +1,87 @@ +name: Build Windows + +on: + push: + branches: [ master, main ] + pull_request: + branches: [ master, main ] + workflow_dispatch: + +env: + GODOT_VERSION: 4.4.1 + EXPORT_NAME: PNGTuber-Plus + +jobs: + export-windows: + name: Windows Export + runs-on: ubuntu-20.04 + container: + image: barichello/godot-ci:4.4.1 + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + lfs: true + + - name: Setup + run: | + mkdir -v -p ~/.local/share/godot/export_templates/ + mv /root/.local/share/godot/export_templates/${GODOT_VERSION}.stable ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable + + - name: Windows Build + run: | + mkdir -v -p build/windows + godot --headless --verbose --export-release "Windows Desktop" build/windows/$EXPORT_NAME.exe + + - name: Upload Windows Build + uses: actions/upload-artifact@v4 + with: + name: windows-build + path: build/windows/ + retention-days: 14 + + release: + name: Create Release + needs: export-windows + runs-on: ubuntu-latest + if: github.ref == 'refs/heads/master' && github.event_name == 'push' + steps: + - name: Download Windows Build + uses: actions/download-artifact@v4 + with: + name: windows-build + path: ./windows/ + + - name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: build-${{ github.sha }} + release_name: PNGTuber Plus Build ${{ github.sha }} + body: | + Automated build of PNGTuber Plus + + ## Recent Updates by Litruv + - **StreamDeck Integration**: Add buttons to enable the streamdeck plugin that was built in + - **Rotation Wobble**: New sprite rotation effects with frequency and amplitude controls + - **Enhanced Modifier Keys**: Support for complex key combinations (Ctrl+Shift+Alt+Cmd) + - **Godot 4.4.1 Support**: Updated for latest Godot stable release + + ## Installation + 1. Download PNGTuber-Plus.exe from the assets below + 2. Run the executable - no installation required! + 3. For StreamDeck integration, download the plugin from [here](https://github.com/BoyneGames/streamdeck-godot-plugin/releases/tag/1.0.0) + draft: false + prerelease: false + + - name: Upload Windows Release Asset + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ./windows/PNGTuber-Plus.exe + asset_name: PNGTuber-Plus.exe + asset_content_type: application/octet-stream diff --git a/README.md b/README.md index a06fd93..b730d4e 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,9 @@ # PNGTuber Plus +![Build Status](https://github.com/litruv/PNGTuber-Plus/workflows/Build%20Windows/badge.svg) ### Recent Updates by Litruv +- **GitHub Actions**: Automated Windows builds on every commit - **StreamDeck Integration**: Add buttons to enable the streamdeck plugin that was built in - **Rotation Wobble**: New sprite rotation effects with frequency and amplitude controls - **Enhanced Modifier Keys**: Support for complex key combinations (Ctrl+Shift+Alt+Cmd) diff --git a/build-windows.bat b/build-windows.bat new file mode 100644 index 0000000..9de6ff0 --- /dev/null +++ b/build-windows.bat @@ -0,0 +1,22 @@ +@echo off +echo Building PNGTuber Plus for Windows... + +:: Create build directory +if not exist "build\windows" mkdir "build\windows" + +:: Build the project +echo Running Godot export... +godot --headless --verbose --export-release "Windows Desktop" "build\windows\PNGTuber-Plus.exe" + +if %ERRORLEVEL% EQU 0 ( + echo. + echo ✅ Build completed successfully! + echo Output: build\windows\PNGTuber-Plus.exe + echo. + pause +) else ( + echo. + echo ❌ Build failed with error code %ERRORLEVEL% + echo. + pause +)