feat(stage-tamagotchi-godot): add Godot stage G0 sidecar preview (#1724)
## Summary Add the G0 Godot Stage sidecar preview for `stage-tamagotchi`. ## Design - Keep Electron as the desktop host and run Godot as a separate sidecar window by design. - Use the settings window as the entry point for starting/stopping the experimental Godot Stage. - Require explicit `GODOT4` in development mode instead of auto-discovering local Godot installs. - Use the packaged sidecar under `process.resourcesPath/godot-stage` in the packaged runtime. - Close the Godot WebSocket lifecycle channel on startup failure and stage shutdown. ## Changes - Add the Electron main-side Godot Stage lifecycle service. - Add renderer/settings wiring for switching to the experimental Godot Stage. - Add the minimal Godot stage runtime skeleton and WebSocket handshake path. - Add Godot export presets for sidecar builds. - Add sidecar path verification for the Godot export preset and `electron-builder` resource contract. - Document the development runtime setup and packaging expectations. ## CI/CD - Align Godot CI to `4.6.2`. - Add Linux Godot export smoke coverage as the fastest CI export path. - Add sidecar contract verification to CI. - Run packaged sidecar verification after `electron-builder --dir`. CD is intentionally deferred in this PR. The release workflow still needs a later step to export the Godot sidecar before packaging release artefacts. --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This commit is contained in:
co-authored by
autofix-ci[bot]
parent
255ce71cba
commit
c6c0494998
@@ -92,8 +92,9 @@ jobs:
|
||||
if: matrix.app_name == 'stage-tamagotchi-godot'
|
||||
uses: chickensoft-games/setup-godot@v2
|
||||
with:
|
||||
version: 4.6.1
|
||||
version: 4.6.2
|
||||
use-dotnet: true
|
||||
include-templates: true
|
||||
|
||||
- run: pnpm install --frozen-lockfile
|
||||
- run: pnpm run build:packages
|
||||
@@ -101,6 +102,13 @@ jobs:
|
||||
- name: Build App
|
||||
run: ${{ matrix.command }}
|
||||
|
||||
- name: Export Godot Linux sidecar
|
||||
if: matrix.app_name == 'stage-tamagotchi-godot'
|
||||
working-directory: ./engines/stage-tamagotchi-godot
|
||||
run: |
|
||||
mkdir -p build/linux
|
||||
godot --headless --export-release "Linux" build/linux/godot-stage
|
||||
|
||||
typecheck:
|
||||
name: Type Check
|
||||
runs-on: ubuntu-latest
|
||||
@@ -133,4 +141,4 @@ jobs:
|
||||
# base-ref: origin/main # optional, default: origin/main
|
||||
# fail-on-downgrade: true # optional, default: true
|
||||
- name: Print result
|
||||
run: "echo 'Downgraded: ${{ steps.check.outputs.downgraded }}'"
|
||||
run: "echo 'Downgraded: ${{ steps.check.outputs.downgraded }}'"
|
||||
|
||||
Reference in New Issue
Block a user