Skip to content
This repository was archived by the owner on Aug 14, 2026. It is now read-only.

Latest commit

 

History

History
40 lines (32 loc) · 1.25 KB

File metadata and controls

40 lines (32 loc) · 1.25 KB

CLI Provider Protocol

Write providers in any language — Go, Python, Rust, shell, or anything that reads stdin and writes stdout. The orchestrator communicates with your executable via JSON over stdin/stdout.

flowchart LR
  subgraph orch["Orchestrator"]
    O["Spawns your binary<br/>per subcommand"]
  end
  subgraph exec["Your Executable"]
    E["setup-workflow<br/>run-task<br/>cleanup-workflow<br/>garbage-collect<br/>list-resources"]
  end
  O -- "argv[1] + JSON stdin" --> E
  E -- "JSON stdout" --> O
  E -. "stderr → log" .-> O
Loading

Usage

Point providerExecutable at your binary:

# GitHub Actions
- uses: game-ci/unity-builder@v4
  with:
    providerExecutable: ./my-provider
    targetPlatform: StandaloneLinux64
# CLI
game-ci build \
  --providerExecutable ./my-provider \
  --projectPath ./my-unity-project \
  --targetPlatform StandaloneLinux64

Your executable receives a subcommand as argv[1] (setup-workflow, run-task, cleanup-workflow, etc.) and a JSON payload on stdin. Respond with JSON on stdout. Log to stderr.

For the full provider interface specification and dynamic loading options (GitHub repos, NPM packages, local paths), see providers/README.md.