feat: add build-unity-image command for custom Unity Docker images#46
feat: add build-unity-image command for custom Unity Docker images#46frostebite merged 3 commits intomainfrom
Conversation
Adds `game-ci build-image [baseOs] [modules]` command that builds Unity editor Docker images with arbitrary module combinations. Usage: game-ci build-image ubuntu windows-mono,linux-il2cpp --unity-version 2022.3.20f1 game-ci build-image ubuntu android --unity-version 6000.0.0f1 --push The command: - Generates a Dockerfile from templates (codifying game-ci/docker logic) - Resolves Unity changeset automatically via unity-changeset - Supports comma-separated modules (space-separated in Dockerfile) - Supports custom tags and push to registry - Works for both ubuntu and windows base OS This enables users to build any module combination without waiting for pre-built images, and dogfoods the same path our CI will eventually use. Refs: #45, game-ci/unity-builder#771 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Warning Rate limit exceeded
To continue reviewing without waiting, purchase usage credits in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (3)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Leaves room for future build-godot-image, build-unreal-image etc. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Documents the game-ci build-unity-image command for building Docker images with custom module combinations. Includes GitHub Actions examples for both on-the-fly and pre-built workflows. Refs: game-ci/cli#45, game-ci/cli#46 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: clarify cli command surfaces * docs: Unity CI reliability guide — self-hosted runners, failure diagnostics, caching New pages: - Advanced Topics > Self-Hosted Runner Reliability: Library cache strategy (HOT/WARM/COLD), DAG file repair, LFS pointer poisoning detection, profile-based cache invalidation, workspace-scoped process cleanup, licensing race mitigation, pre-crash Library backup pattern - Advanced Topics > Unity Build Failure Diagnostics: 7-category failure classification (LICENSE, CRASH, COMPILE, PACKAGE, SKIP, EXIT_NEG1, GENERIC), detection signals, remediation per category, multi-phase retry chains with independent budgets, circuit breaker pattern, Step Summary integration - Self-Hosting > Windows Self-Hosted Runner Setup: multi-runner topology, NSSM service management with self-healing layers, Unity Hub ghost process management, worker count configuration, Accelerator cold-start handling Updated pages: - Caching: added self-hosted cache integrity section (DAG repair, LFS poisoning, profile fingerprinting) - Troubleshooting: added quick-fix entries for all 5 common Unity CI failure categories Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs: clarify cli command surfaces * docs: prefer orchestrate command * docs: document config-defined providers * docs: broaden diagnostics and self-hosted machine guides * docs: rename self-hosted orchestrator guide * docs: format cli command surface pages * docs: orchestrator backlog features and streaming runner rename - Rename "Standalone Streaming Hot Runner" to "Streaming Runner" - Add GC timeout force and max cache entries documentation - Add maxCacheEntries to caching inputs reference - Add configFiles documentation to K8s and Docker provider pages - Add init command documentation for workflow generation Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs: add minCacheEntries and cacheRetentionDays wiring docs Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * style: fix prettier formatting in docs Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * style: fix oxfmt formatting Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * style: fix oxfmt formatting Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs: add custom images page for build-unity-image CLI command Documents the game-ci build-unity-image command for building Docker images with custom module combinations. Includes GitHub Actions examples for both on-the-fly and pre-built workflows. Refs: game-ci/cli#45, game-ci/cli#46 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Corresponding documentation PR: game-ci/documentation#565 |
Summary
Adds
game-ci build-unity-image— a CLI command that builds Unity editor Docker images with arbitrary module combinations, fully replacing the need for users to maintain custom Dockerfiles.Why This Is Deep Integration
This is not a thin wrapper around
docker build. The CLI codifies the entiregame-ci/dockerbuild pipeline — every version-specific patch, every platform-conditional dependency, every SDK setup step. A user running this command gets the exact same image that our CI publishes to Docker Hub.All 18 Ubuntu patches ported:
--tool-chain-path=/fix--sysroot-path=/ --tool-chain-path=/Full Windows Dockerfile:
Usage
GitHub Actions workflow
What this enables
Phase 1 of #45
build-unity-imagewith all patchesgame-ci initintegration, reduce hosted matrixNo deprecation of existing images — this adds a new capability without removing anything.
Refs: #45, game-ci/unity-builder#771, game-ci/unity-builder#773
🤖 Generated with Claude Code