name: Deploy Patch on: workflow_dispatch: inputs: version: description: 'Patch version (e.g., 2.4.2)' required: true type: string notes: description: 'Release notes' required: false type: string jobs: build-and-deploy: name: Build & Deploy Patch runs-on: ubuntu-latest timeout-minutes: 30 steps: - name: Checkout repository (shallow) env: GITEA_TOKEN: ${{ secrets.TEKTON_RELEASE_TOKEN }} run: | git clone --depth 1 http://god:$GITEA_TOKEN@52.74.133.55:3000/danchie/tekton.git . git config user.name "god" git config user.email "god@noreply.git.klud.top" - name: Setup Godot (Cached) run: | apt-get update -qq && apt-get install -y -qq unzip curl if [ ! -f /cache/godot_4.7 ]; then echo "Downloading Godot 4.7..." curl -sL -o /tmp/godot.zip "https://github.com/godotengine/godot-builds/releases/download/4.7-stable/Godot_v4.7-stable_linux.x86_64.zip" unzip -q -o /tmp/godot.zip -d /cache/ mv /cache/Godot_v4.7-stable_linux.x86_64 /cache/godot_4.7 fi cp /cache/godot_4.7 /usr/local/bin/godot chmod +x /usr/local/bin/godot mkdir -p ~/.local/share/godot/export_templates/4.7.stable if [ ! -f /cache/Godot_v4.7-stable_export_templates.tpz ]; then echo "Downloading templates..." curl -sL -o /cache/Godot_v4.7-stable_export_templates.tpz \ "https://github.com/godotengine/godot-builds/releases/download/4.7-stable/Godot_v4.7-stable_export_templates.tpz" fi if [ ! -f ~/.local/share/godot/export_templates/4.7.stable/macos.zip ]; then cd ~/.local/share/godot/export_templates/4.7.stable unzip -q -o /cache/Godot_v4.7-stable_export_templates.tpz mv templates/* . 2>/dev/null || true rm -rf templates fi cd $GITHUB_WORKSPACE mkdir -p build - name: Generate version.json & bump version env: PATCH_VERSION: ${{ github.event.inputs.version }} PATCH_NOTES: ${{ github.event.inputs.notes }} run: | python3 tools/generate_version_json.py --skip-changelog - name: Export patch PCK run: | godot --headless --export-pack "Windows Desktop" build/patch.pck 2>&1 | tail -5 - name: Push to patches branch env: GITEA_TOKEN: ${{ secrets.TEKTON_RELEASE_TOKEN }} run: | mkdir -p patch-deploy cp build/patch.pck patch-deploy/ cp assets/data/version.json patch-deploy/ cd patch-deploy git init git config user.name "god" git config user.email "god@noreply.git.klud.top" git remote add origin http://god:$GITEA_TOKEN@52.74.133.55:3000/danchie/tekton.git git checkout -b patches git add . git commit -m "patch ${{ github.event.inputs.version }}" git push -f origin patches