Skip to content

feat(plugin-godot): add "Export Godot project" action - #72

Open
Armaldio wants to merge 1 commit into
mainfrom
feature/plugin-godot
Open

feat(plugin-godot): add "Export Godot project" action#72
Armaldio wants to merge 1 commit into
mainfrom
feature/plugin-godot

Conversation

@Armaldio

Copy link
Copy Markdown
Member

Summary

Adds a new Godot plugin with a single "Export Godot project" action that exports a Godot 4.x project for Windows, Linux, macOS or Web.

  • Only required input: the Godot 4.x project folder (project.godot).
  • Target platform: select (Windows/Linux/macOS/Web), defaulting to the host platform.
  • Presets: auto-detects a matching preset from export_presets.cfg; when none matches, it appends a generated one (Pipelab <Platform>, unique-name-suffixed).
  • Toolchain: downloads the official Godot 4.4.1 headless editor + export templates into <userData>/thirdparty/godot on first use, reusing the shared downloadFile/fileExists/runWithLiveLogs helpers (respects abortSignal, logs via log).
  • Export: runs godot --headless --export-release <preset> <output> in the project folder.
  • Outputs: emits output, parentFolder, folder following the plugin-construct conventions.
  • Changeset: .changeset/godot-plugin.md (@pipelab/app, minor). No manual version bump.

Verification

  • pnpm test:unit: 13 files / 45 passed | 1 skipped
    • godot.spec.ts (21 tests) mocks the Godot CLI and covers preset discovery/generation, command building, download/extract, and output paths.
    • godot-registration.spec.ts (2 tests) proves the plugin appears in registerBuiltIn() and getFinalPlugins().
    • godot.integration.spec.ts runs a real export whenever a Godot 4.x binary is reachable; otherwise it skips with an explicit reason (tried $GODOT_BIN and godot on PATH).
  • pnpm typecheck:node: 59 errors — the pre-existing baseline, none introduced.
  • ESLint clean on the new files.

Honest note

A real Godot export could not be executed in this environment (no Godot binary reachable). The integration test will run for real wherever Godot 4.x + its export templates for 4.4.1 are installed (or GODOT_BIN is set).

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying pipelab with  Cloudflare Pages  Cloudflare Pages

Latest commit: b8053fc
Status:🚫  Build failed.

View logs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant