name: Build Artifacts on: workflow_dispatch: inputs: platform: description: 'Platform to build' required: true type: choice options: - windows - linux - android - all version: description: 'Version tag (optional)' required: false type: string jobs: build-windows: name: Build Windows runs-on: ubuntu-latest timeout-minutes: 45 if: github.event.inputs.platform == 'windows' || github.event.inputs.platform == 'all' steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup Godot uses: firebelley/godot-action@v3 with: godot-version: '4.6' engine-type: standard - name: Install export templates run: | mkdir -v -p ~/.local/share/godot/export_templates/4.6.stable wget -q https://github.com/godotengine/godot-builds/releases/download/4.6-stable/Godot_v4.6-stable_export_templates.tpz unzip -q Godot_v4.6-stable_export_templates.tpz -d ~/.local/share/godot/export_templates/4.6.stable - name: Export Windows run: | godot --headless --export-release "Windows Desktop" build/tekton_armageddon_${{ github.event.inputs.version || 'dev' }}_windows.exe - name: Upload artifact uses: actions/upload-artifact@v4 with: name: tekton-windows-${{ github.event.inputs.version || 'dev' }} path: build/tekton_armageddon_${{ github.event.inputs.version || 'dev' }}_windows.exe retention-days: 30 build-linux: name: Build Linux runs-on: ubuntu-latest timeout-minutes: 45 if: github.event.inputs.platform == 'linux' || github.event.inputs.platform == 'all' steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup Godot uses: firebelley/godot-action@v3 with: godot-version: '4.6' engine-type: standard - name: Install export templates run: | mkdir -v -p ~/.local/share/godot/export_templates/4.6.stable wget -q https://github.com/godotengine/godot-builds/releases/download/4.6-stable/Godot_v4.6-stable_export_templates.tpz unzip -q Godot_v4.6-stable_export_templates.tpz -d ~/.local/share/godot/export_templates/4.6.stable - name: Export Linux run: | godot --headless --export-release "Linux/X11" build/tekton_armageddon_${{ github.event.inputs.version || 'dev' }}_linux.x86_64 - name: Upload artifact uses: actions/upload-artifact@v4 with: name: tekton-linux-${{ github.event.inputs.version || 'dev' }} path: build/tekton_armageddon_${{ github.event.inputs.version || 'dev' }}_linux.x86_64 retention-days: 30 build-android: name: Build Android runs-on: ubuntu-latest timeout-minutes: 60 if: github.event.inputs.platform == 'android' || github.event.inputs.platform == 'all' steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup Godot uses: firebelley/godot-action@v3 with: godot-version: '4.6' engine-type: standard - name: Install export templates run: | mkdir -v -p ~/.local/share/godot/export_templates/4.6.stable wget -q https://github.com/godotengine/godot-builds/releases/download/4.6-stable/Godot_v4.6-stable_export_templates.tpz unzip -q Godot_v4.6-stable_export_templates.tpz -d ~/.local/share/godot/export_templates/4.6.stable - name: Setup Android SDK uses: android-actions/setup-android@v3 with: api-level: 34 ndk-version: r26c cmdline-tools-version: latest - name: Export Android run: | godot --headless --export-release "Android" build/tekton_dash_armageddon_${{ github.event.inputs.version || 'dev' }}.apk - name: Upload artifact uses: actions/upload-artifact@v4 with: name: tekton-android-${{ github.event.inputs.version || 'dev' }} path: build/tekton_dash_armageddon_${{ github.event.inputs.version || 'dev' }}.apk retention-days: 30