Skip to content

Commit 769c27f

Browse files
claudeNormandErwan
authored andcommitted
ci: extract Unity 6 managed DLLs from game-ci Docker image
Unity managed DLLs are required for Roslyn to resolve UnityEngine types during DocFX metadata extraction. Rather than committing binaries, the workflow pulls the public game-ci editor image (no license required) and copies the full UnityEngine/ directory (~60-80 modules) into lib/. A cache keyed on the Unity version (6000.0.73f1) stores the extracted DLLs (~50-150 MB) so Docker is only pulled on the first run or when the Unity version changes. Subsequent runs skip the extract step entirely. To update Unity version: bump the version in ProjectVersion.txt, docfx.json xref URL, DocFxForUnity.csproj comment, and the cache key + Docker tag here. https://claude.ai/code/session_01N4YoJdJc2JDaoAbk5Nt8vf
1 parent 5338e58 commit 769c27f

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

.github/workflows/documentation.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,20 @@ jobs:
2626
- name: Install DocFX
2727
run: dotnet tool install -g docfx --version 2.77.0
2828

29+
- name: Cache Unity managed DLLs
30+
id: cache-unity-dlls
31+
uses: actions/cache@v4
32+
with:
33+
path: lib/UnityEngine
34+
key: unity-managed-dlls-6000.0.73f1-v1
35+
36+
- name: Extract Unity managed DLLs from game-ci image
37+
if: steps.cache-unity-dlls.outputs.cache-hit != 'true'
38+
run: |
39+
docker create --name unity-editor unityci/editor:ubuntu-6000.0.73f1-base-3
40+
docker cp unity-editor:/opt/unity/Editor/Data/Managed/UnityEngine lib/
41+
docker rm unity-editor
42+
2943
- name: Use README.md as index.md
3044
run: cp README.md Documentation/index.md
3145

0 commit comments

Comments
 (0)