This repository was archived by the owner on Aug 14, 2026. It is now read-only.
Commit 2d91e20
authored
Add injected Unity test filters and preset-based suites (#28)
* refactor: make orchestrator engine-agnostic at the typed surface
Remove Unity-specific licensing fields from orchestrator's typed surfaces
(BuildParameters, OrchestratorConfig, CLI input mapper, build/orchestrate
yargs commands, cli-plugin adapter):
- unitySerial
- unityLicensingServer
- skipActivation
These were vestigial — BuildParameters.create() hardcoded them to empty
strings, no orchestrator service read them for logic. They existed only
to mirror unity-builder's BuildParameters shape, which is exactly the
boundary violation: orchestrator's domain is dispatch + providers, not
engine-specific licensing.
The plugin contract (coreParams: Record<string, any>) is already opaque
and engine-agnostic. The host (unity-builder today, @game-ci/cli in the
future) passes its full BuildParameters object through; orchestrator
reads only generic build context (targetPlatform, projectPath, etc.) and
its plugin-owned config from env/inputs. Engine-specific keys ride in
the dict untouched.
No companion change needed in unity-builder: it continues to construct
its own BuildParameters with whatever fields it wants and pass it as
coreParams. The dict's index signature accepts everything.
Documentation:
- Tracking issue #25 lays out the full architecture, today/future state,
and migration runway.
- Code comments in plugin-lifecycle.ts, interfaces.ts, build-parameters.ts,
build.ts, orchestrate.ts, input-mapper.ts, build-parameters-adapter.ts
reference the issue and explain the boundary intent so the next
contributor understands why these fields are not (and must not be)
declared here.
Out of scope (separate cleanups, noted in tracking issue):
- cacheUnityInstallationOnMac / unityHubVersionOnMac in input-mapper
(Mac runtime install caching, more entangled)
- task-parameter-serializer.ts UNITY_SERIAL well-known-secret list
(well-known-secrets generalization)
- activate CLI command (Unity-specific legacy helper, leave as-is)
Refs game-ci/unity-builder#739 and game-ci/unity-builder#838 (the user-
facing fix that motivated this boundary cleanup).
* feat: introduce preflight tests framework with 13 built-in checks
Preflight tests are fast, no-engine validation gates that run before
expensive build dispatch and fail-fast on the first failure. This
contrasts with the existing test-workflow engine, which fails-forward
to surface every failure for maximum feedback per run.
Users can compose a preflight suite by referencing built-in check IDs
as strings, defining custom checks inline, or mixing both. The 13
built-in checks cover the common preflight surface area (pipeline
contract, runner health, build/submodule profile validation, LFS
health, config validation, script integrity, health-test discovery,
C# heuristics, cross-profile compile, and PreUnityJob dry-run).
New surfaces:
- services/preflight (types, registry, service, barrel)
- CLI: game-ci preflight [--suite|--list|--check]
- BuildParameters.preflightSuite + action.yml input
- BuildAutomationWorkflow runs preflight between pre-build hooks and
build dispatch; failure aborts the build with a clear error
- examples/preflight-suite.yml showing built-in + custom usage
* Add injected Unity test filters and preset-based suites1 parent f26eccd commit 2d91e20
12 files changed
Lines changed: 717 additions & 108 deletions
File tree
- src
- cli-plugin
- model
- orchestrator/services
- test-workflow
- test
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
624 | 624 | | |
625 | 625 | | |
626 | 626 | | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
627 | 639 | | |
628 | 640 | | |
629 | 641 | | |
| |||
914 | 926 | | |
915 | 927 | | |
916 | 928 | | |
| 929 | + | |
| 930 | + | |
| 931 | + | |
917 | 932 | | |
918 | 933 | | |
919 | 934 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
157 | 157 | | |
158 | 158 | | |
159 | 159 | | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
160 | 163 | | |
161 | 164 | | |
162 | 165 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
156 | 156 | | |
157 | 157 | | |
158 | 158 | | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
159 | 162 | | |
160 | 163 | | |
161 | 164 | | |
| |||
256 | 259 | | |
257 | 260 | | |
258 | 261 | | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
259 | 266 | | |
260 | 267 | | |
261 | 268 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
2 | 3 | | |
3 | 4 | | |
4 | 5 | | |
5 | 6 | | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
6 | 13 | | |
7 | 14 | | |
8 | 15 | | |
| |||
Lines changed: 25 additions & 61 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
7 | | - | |
8 | | - | |
| 6 | + | |
| 7 | + | |
9 | 8 | | |
10 | 9 | | |
11 | 10 | | |
| |||
57 | 56 | | |
58 | 57 | | |
59 | 58 | | |
60 | | - | |
| 59 | + | |
61 | 60 | | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
68 | 64 | | |
69 | | - | |
70 | | - | |
71 | | - | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
72 | 68 | | |
73 | 69 | | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
117 | 82 | | |
118 | 83 | | |
119 | | - | |
120 | | - | |
| 84 | + | |
| 85 | + | |
121 | 86 | | |
122 | 87 | | |
123 | | - | |
124 | | - | |
| 88 | + | |
125 | 89 | | |
126 | 90 | | |
127 | 91 | | |
| |||
0 commit comments