Open ejnarvala opened 3 months ago
I don't have any knowledge about the floating license server or multiple configured products. Would it be possible to link relevant documentation or howtos from Unity?
Could someone verify that this change doesn't affect other use cases?
[!IMPORTANT]
Review skipped
Review was skipped due to path filters
:no_entry: Files ignored due to path filters (2)
* `dist/index.js` is excluded by `!**/dist/**` * `dist/index.js.map` is excluded by `!**/dist/**`, `!**/*.map`CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including
**/dist/**
will override the default block on thedist
directory, by removing the pattern from both the lists.You can disable this status message by setting the
reviews.review_status
tofalse
in the CodeRabbit configuration file.
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
@webbertakken
I don't have any knowledge about the floating license server or multiple configured products. Would it be possible to link relevant documentation or howtos from Unity?
Yeah so here's Unity's docs on floating licensing servers: https://docs.unity.com/licensing/en-us/manual
I had linked this page which explains how to a floating licensing server can be configured to have multiple 'products' AKA 'toolsets' (I like to think of these as license pools).
This is also a good one to explain the configuration options for the client services-config.json
: https://docs.unity.com/licensing/en-us/manual/ClientConfig
I think the relevant things to know here are that you can self-host a floating licensing server and that server can house multiple products which each have certain number of licenses/seats.
Clients can lease a license from the server as long as they have the services-config.json
file which mainly defines the address of the licensing server so it knows where to make that request. The server is configured with a default product that it chooses the license from when no toolset
is specified in the config file (or when the value is empty). This is what happens in unity-builder
and unity-test-runner
currently. In order to request license from multiple products/pools, the services-config.json needs to specify all the products (as a csv) it wants to consider getting licenses from.
Could someone verify that this change doesn't affect other use cases?
This is just an anecdote, but I've tested that having the toolset
field as empty will result in using the default toolset, which is the same as the default behavior
@coderabbitai draw a flow chart for these changes
[!TIP] For best results, initiate chat on the files or code changes.
@GabLeRoux, here's a flowchart illustrating the changes introduced in this PR:
flowchart TD
subgraph Action Input
A[Add 'unityLicensingProductIds' to action.yml]
A --> B[Create Input getter 'unityLicensingProductIds' in input.ts]
end
B --> C[Update BuildParameters with 'unityLicensingProductIds' property]
C --> D[Modify ImageEnvironmentFactory to include 'UNITY_LICENSING_PRODUCT_IDS' env variable]
D --> E[Update PlatformSetup to replace '%LICENSE_PRODUCT_IDS%' in services-config.json]
E --> F[Update SetupMac to set 'UNITY_LICENSING_PRODUCT_IDS' environment variable]
F --> G[Unity Builder now supports multiple licensing products]
Let me know if you have any questions!
I've fixed the merge conflicts by simply merging origin/main
into main
and running npm run build
again. Conflict was with dist
folder.
Changes
This change enables supporting unity floating license servers with multiple products configured, more info here.
Related PRs
Related Issues
Successful Workflow Run Link
PRs don't have access to secrets so you will need to provide a link to a successful run of the workflows from your own repo.
Checklist
Summary by CodeRabbit
Release Notes
New Features
Bug Fixes
Tests