Filed from central issue Ambiguous-Interactive/ambiguous-organization-build-lock#226. The maintainer decision is recorded there: move the export jobs to the self-hosted fleet.
What the central audit found
The organization enrollment audit records unsafe-hosted-unity-runner for two paid jobs that run licensed Unity work on GitHub-hosted runners:
| Workflow |
Job |
Runner today |
.github/workflows/release.yml |
unitypackage |
ubuntu-latest |
.github/workflows/unity-tests.yml |
unitypackage-smoke |
ubuntu-latest |
Both jobs acquire the organization build lock, activate Unity inside a container, and return the license. A Unity portal seat row from 2026-09-06 (central issue #223) shows the matching signature: container-style machine id, root user, client address inside GitHub Actions range 135.232.128.0/17. Hosted runners consume a Named User License seat from outside the known fleet.
What to change
- Run both jobs on a self-hosted runner from the organization fleet. Keep the existing container shape if it works on that runner; the requirement is the physical runner identity, not the container.
- Keep the full lock lifecycle (acquire, activate, export, return, classify, release, gate) on one runner identity.
- Add the required label set to the existing
check-unity-runner-availability preflight so an impossible label set fails before queueing.
- Repin nothing else; the lock action pins stay at the authorized release.
Acceptance
Filed from central issue Ambiguous-Interactive/ambiguous-organization-build-lock#226. The maintainer decision is recorded there: move the export jobs to the self-hosted fleet.
What the central audit found
The organization enrollment audit records
unsafe-hosted-unity-runnerfor two paid jobs that run licensed Unity work on GitHub-hosted runners:.github/workflows/release.ymlunitypackageubuntu-latest.github/workflows/unity-tests.ymlunitypackage-smokeubuntu-latestBoth jobs acquire the organization build lock, activate Unity inside a container, and return the license. A Unity portal seat row from 2026-09-06 (central issue #223) shows the matching signature: container-style machine id, root user, client address inside GitHub Actions range
135.232.128.0/17. Hosted runners consume a Named User License seat from outside the known fleet.What to change
check-unity-runner-availabilitypreflight so an impossible label set fails before queueing.Acceptance
self-hostedlabel inruns-on.unsafe-hosted-unity-runnerfor this repository.