chore: v5 prep — dep bumps, linux64 extension, legacy CLI removal, Cli→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>
This commit is contained in:
Frostebite
2026-05-07 04:42:29 +01:00
committed by GitHub
parent 2240bedf08
commit d829bfc901
13 changed files with 159 additions and 246 deletions
+9 -37
View File
@@ -5,7 +5,7 @@ __metadata:
version: 9
cacheKey: 10
"@actions/cache@npm:^4.0.0":
"@actions/cache@npm:^4.1.0":
version: 4.1.0
resolution: "@actions/cache@npm:4.1.0"
dependencies:
@@ -42,7 +42,7 @@ __metadata:
languageName: node
linkType: hard
"@actions/github@npm:^6.0.0":
"@actions/github@npm:^6.0.1":
version: 6.0.1
resolution: "@actions/github@npm:6.0.1"
dependencies:
@@ -2302,17 +2302,6 @@ __metadata:
languageName: node
linkType: hard
"commander-ts@npm:^0.2.0":
version: 0.2.0
resolution: "commander-ts@npm:0.2.0"
dependencies:
commander: "npm:^7.2.0"
peerDependencies:
reflect-metadata: ^0.1.13
checksum: 10/b57582d0eb98e7bce0a05bfe7c44b8ed01a0f77a05358ec9d35ef6406ac6b3031590fa49e1bff58649ae511bb18a576b01151cb94de9c12c7f0be7f865ca494f
languageName: node
linkType: hard
"commander@npm:^10.0.1":
version: 10.0.1
resolution: "commander@npm:10.0.1"
@@ -2341,13 +2330,6 @@ __metadata:
languageName: node
linkType: hard
"commander@npm:^9.0.0":
version: 9.5.0
resolution: "commander@npm:9.5.0"
checksum: 10/41c49b3d0f94a1fbeb0463c85b13f15aa15a9e0b4d5e10a49c0a1d58d4489b549d62262b052ae0aa6cfda53299bee487bfe337825df15e342114dde543f82906
languageName: node
linkType: hard
"common-path-prefix@npm:^3.0.0":
version: 3.0.0
resolution: "common-path-prefix@npm:3.0.0"
@@ -3800,7 +3782,7 @@ __metadata:
languageName: node
linkType: hard
"nanoid@npm:^3.3.1, nanoid@npm:^3.3.11":
"nanoid@npm:^3.3.11, nanoid@npm:^3.3.12":
version: 3.3.12
resolution: "nanoid@npm:3.3.12"
bin:
@@ -4214,13 +4196,6 @@ __metadata:
languageName: node
linkType: hard
"reflect-metadata@npm:^0.1.13":
version: 0.1.14
resolution: "reflect-metadata@npm:0.1.14"
checksum: 10/fcab9c17ec3b9fea0e2f748c2129aceb57c24af6d8d13842b8a77c8c79dde727d7456ce293e76e8d7b267d1dbf93eea4c5b3c9101299a789a075824f2e40f1ee
languageName: node
linkType: hard
"regexp-tree@npm:^0.1.27":
version: 0.1.27
resolution: "regexp-tree@npm:0.1.27"
@@ -4807,17 +4782,15 @@ __metadata:
version: 0.0.0-use.local
resolution: "unity-builder@workspace:."
dependencies:
"@actions/cache": "npm:^4.0.0"
"@actions/cache": "npm:^4.1.0"
"@actions/core": "npm:^1.11.1"
"@actions/exec": "npm:^1.1.1"
"@actions/github": "npm:^6.0.0"
"@actions/github": "npm:^6.0.1"
"@types/node": "npm:^17.0.23"
"@types/semver": "npm:^7.3.9"
"@typescript/native-preview": "npm:^7.0.0-dev.20260505.1"
"@vercel/ncc": "npm:^0.36.1"
"@vitest/coverage-istanbul": "npm:^4.1.5"
commander: "npm:^9.0.0"
commander-ts: "npm:^0.2.0"
cross-env: "npm:^7.0.3"
eslint: "npm:^10.3.0"
eslint-plugin-unicorn: "npm:^64.0.0"
@@ -4825,19 +4798,18 @@ __metadata:
js-yaml: "npm:^4.1.0"
lint-staged: "npm:^16.4.0"
md5: "npm:^2.3.0"
nanoid: "npm:^3.3.1"
nanoid: "npm:^3.3.12"
node-fetch: "npm:2"
oxfmt: "npm:^0.48.0"
oxlint: "npm:^1.63.0"
reflect-metadata: "npm:^0.1.13"
semver: "npm:^7.5.2"
semver: "npm:^7.7.4"
ts-md5: "npm:^1.3.1"
ts-node: "npm:10.8.1"
typescript: "npm:4.7.4"
unity-changeset: "npm:^3.1.0"
vite: "npm:^7"
vitest: "npm:^4"
yaml: "npm:^2.2.2"
yaml: "npm:^2.8.4"
yarn-audit-fix: "npm:^9.3.8"
dependenciesMeta:
lefthook:
@@ -5209,7 +5181,7 @@ __metadata:
languageName: node
linkType: hard
"yaml@npm:^2.2.2, yaml@npm:^2.8.2":
"yaml@npm:^2.8.2, yaml@npm:^2.8.4":
version: 2.8.4
resolution: "yaml@npm:2.8.4"
bin: