game-ci / cli

Cross platform command-line interface for building, testing and deploying your projects.
MIT License
6 stars 3 forks source link

Unity license activation on windows for test-runner and builder #28

Open ManuelRauber opened 1 year ago

ManuelRauber commented 1 year ago

Bug description

I'm currently using game-ci/unity-builder and game-ci/unity-test-runner to build and test a Unity 2021.3.9f1 project.

I've setup two jobs for this:

As you can see in the workflow definition, both jobs run on Linux, Windows and - for build only - macOS.

Building works reliably on all three operating systems any time.

Testing however has some issues. It works on Linux, but on windows it silently fails (see https://github.com/game-ci/unity-builder/issues/325) due to a license activation error:

LICENSE SYSTEM [2022920 4:19:25] Machine binding 1 mismatch: (value of current machine) 00430-00000-00000-AA128 != 576562626572264761624c65526f7578 (value in license file). Reason might be there is a hardware change on this machine after the license was activated

For example see here or here.

I've noticed that all windows runs (tests and build) use the exact same image:

Digest: sha256:365aa88c7335177e5d7b5e4c911a9dae0b58c0092ef622c057c79e78e6512567
Status: Downloaded newer image for unityci/editor:windows-2021.3.9f1-windows-il2cpp-1

@GabLeRoux pointed out two scripts that are currently used for license activation:

He also pointed out, that the ubuntu base images use a hardcoded machine id (https://github.com/game-ci/docker/blob/main/images/ubuntu/base/Dockerfile#L68) whereas the windows machine do not (https://github.com/game-ci/docker/blob/main/images/windows/base/Dockerfile).

@webbertakken pointed out that windows should take the serial out of the license file and activate it (not being sure if that is affected by the machine id):

https://github.com/game-ci/unity-builder/blob/579daa93a634c0d09499e5f907f2b42b4ff70fdb/src/model/build-parameters.ts#L87

For me, it seems that due to a difference in activating the license for test-runner and builder on windows, it can fail on the test-runner. I've never had a successful run so far. :)

I've also seen that any test-runner run fails activating with the same wrong machine id, it's always 00430-00000-00000-AA128.

Expected behavior

Test-Runner and Builder works on all operating systems.

Macoron commented 1 year ago

Have same issue. Tried to activate Unity using license activation file from Ubuntu, it fails.

Does it mean that you can't run Unity tests on Windows without Professional license?