Tags: game-ci/unity-builder
Tags
chore: v5 prep — dep bumps, linux64 extension, legacy CLI removal, Cl… …i→PluginOptions rename (#837) * fix: remove concurrency block from reusable workflow to prevent deadlock When integrity-check.yml calls validate-orchestrator-integration.yml via workflow_call, both workflows resolve github.workflow to the same name ("Integrity"), creating identical concurrency groups. GitHub detects this as a deadlock and cancels the run. Fix: remove concurrency from the reusable workflow entirely — the caller already manages concurrency for the group. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * feat: add linux64RemoveExecutableExtension parameter (default: false) Adds configurable control over the `.x86_64` file extension for StandaloneLinux64 builds. Default is `false` (keep the extension), matching Unity's native behavior. Set `linux64RemoveExecutableExtension: true` to restore the extensionless behavior from v4. Rebased from kitlith's original PR #726. Default flipped for v5. Closes #722 Co-Authored-By: kitlith <kitlith@users.noreply.github.com> Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: bump production dependencies (minor/patch) - @actions/cache ^4.0.0 → ^4.1.0 - @actions/github ^6.0.0 → ^6.0.1 - commander ^9.0.0 → ^9.5.0 - nanoid ^3.3.1 → ^3.3.12 - reflect-metadata ^0.1.13 → ^0.2.2 - semver ^7.5.2 → ^7.7.4 - yaml ^2.2.2 → ^2.8.4 All minor/patch bumps. Major bumps (@actions/core 3.x, nanoid 5.x ESM) deferred to a separate PR. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: remove legacy CLI bootstrap and unused deps Remove InitCliMode/RunCli, @CliFunction decorator, and CliFunctionsRepository. The only registered CLI mode was `print-input` which is unused — all real CLI functionality lives in the orchestrator repo now. This drops 3 dependencies: - commander-ts (decorator-based CLI, needed reflect-metadata) - reflect-metadata (peer dep of commander-ts) - commander (only used for OptionValues type) Cli.options, Cli.isCliMode, and Cli.query remain — the orchestrator plugin sets these directly without commander. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * refactor: rename Cli to PluginOptions, remove cli directory Cli class was a legacy name from when unity-builder had its own CLI. Now it's just an options bridge for plugins — renamed to PluginOptions with a backwards-compatible Cli alias for the orchestrator. Moved from src/model/cli/cli.ts to src/model/plugin-options.ts. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix(ci): fix orchestrator integration test failures Two issues: 1. jest → vitest: the repo migrated to vitest but the integration workflow still called `npx jest`. Changed to `npx vitest run`. 2. Git checkout corruption: when the orchestrator branch matching the PR doesn't exist, the first checkout fails leaving a corrupted .git directory. The fallback step then hits `fatal: ambiguous argument 'HEAD'`. Fix: add `clean: true` to all fallback checkout steps so they wipe the broken state before re-cloning. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix(ci): wipe .git before fallback checkout, fix remaining jest syntax - Add `rm -rf .git` step before fallback checkout to clear corrupted state when branch-matching checkout fails - Fix unit test step: replace jest --testPathPattern with vitest positional filters (same fix as orchestrator PR #18) - Replace all --detectOpenHandles --forceExit --runInBand with vitest --no-file-parallelism Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * refactor: simplify plugin mode check --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: kitlith <kitlith@users.noreply.github.com>
chore: v5 prep — dep bumps, linux64 extension, legacy CLI removal, Cl… …i→PluginOptions rename (#837) * fix: remove concurrency block from reusable workflow to prevent deadlock When integrity-check.yml calls validate-orchestrator-integration.yml via workflow_call, both workflows resolve github.workflow to the same name ("Integrity"), creating identical concurrency groups. GitHub detects this as a deadlock and cancels the run. Fix: remove concurrency from the reusable workflow entirely — the caller already manages concurrency for the group. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * feat: add linux64RemoveExecutableExtension parameter (default: false) Adds configurable control over the `.x86_64` file extension for StandaloneLinux64 builds. Default is `false` (keep the extension), matching Unity's native behavior. Set `linux64RemoveExecutableExtension: true` to restore the extensionless behavior from v4. Rebased from kitlith's original PR #726. Default flipped for v5. Closes #722 Co-Authored-By: kitlith <kitlith@users.noreply.github.com> Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: bump production dependencies (minor/patch) - @actions/cache ^4.0.0 → ^4.1.0 - @actions/github ^6.0.0 → ^6.0.1 - commander ^9.0.0 → ^9.5.0 - nanoid ^3.3.1 → ^3.3.12 - reflect-metadata ^0.1.13 → ^0.2.2 - semver ^7.5.2 → ^7.7.4 - yaml ^2.2.2 → ^2.8.4 All minor/patch bumps. Major bumps (@actions/core 3.x, nanoid 5.x ESM) deferred to a separate PR. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: remove legacy CLI bootstrap and unused deps Remove InitCliMode/RunCli, @CliFunction decorator, and CliFunctionsRepository. The only registered CLI mode was `print-input` which is unused — all real CLI functionality lives in the orchestrator repo now. This drops 3 dependencies: - commander-ts (decorator-based CLI, needed reflect-metadata) - reflect-metadata (peer dep of commander-ts) - commander (only used for OptionValues type) Cli.options, Cli.isCliMode, and Cli.query remain — the orchestrator plugin sets these directly without commander. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * refactor: rename Cli to PluginOptions, remove cli directory Cli class was a legacy name from when unity-builder had its own CLI. Now it's just an options bridge for plugins — renamed to PluginOptions with a backwards-compatible Cli alias for the orchestrator. Moved from src/model/cli/cli.ts to src/model/plugin-options.ts. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix(ci): fix orchestrator integration test failures Two issues: 1. jest → vitest: the repo migrated to vitest but the integration workflow still called `npx jest`. Changed to `npx vitest run`. 2. Git checkout corruption: when the orchestrator branch matching the PR doesn't exist, the first checkout fails leaving a corrupted .git directory. The fallback step then hits `fatal: ambiguous argument 'HEAD'`. Fix: add `clean: true` to all fallback checkout steps so they wipe the broken state before re-cloning. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix(ci): wipe .git before fallback checkout, fix remaining jest syntax - Add `rm -rf .git` step before fallback checkout to clear corrupted state when branch-matching checkout fails - Fix unit test step: replace jest --testPathPattern with vitest positional filters (same fix as orchestrator PR #18) - Replace all --detectOpenHandles --forceExit --runInBand with vitest --no-file-parallelism Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * refactor: simplify plugin mode check --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: kitlith <kitlith@users.noreply.github.com>
PreviousNext