Conversation
…ot fail Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe licensing step tests serial returns with complete serial and account credentials. The test asserts that the licensing client receives both the username and password. ChangesLicensing regression coverage
Priority: ➖ Normal Estimated code review effort: 1 (Trivial) | ~5 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to The serial license return fix and regression coverage are ready to merge; no actionable current-head risk remains. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@webbertakken / @frostebite Hey, sorry to ask, but do i have to do something more for this to actually be merged? I see that there were additional similar fixes merged on the main branch just a few hours ago, so i am wondering why this has not been included. Our CI action is being slowed down by this problem and we'd be happy for this to be resolved |
|
Thanks for this — the diagnosis is exactly right, and it turned out to be bigger than the serial path. Four days after you opened this, #277 hit the identical three error strings on the personal path, found from our licensing matrix logs rather than from your PR. Same root cause: the return launches a fresh editor with no credentials, so it has no access token and cannot release the entitlement. You got there first. Your branch is behind a fairly heavy rewrite of Worth saying that your test is the only guard on this. The licensing matrix can't catch it — its serial cells grade Happy to merge #280 in your name, or if you'd rather update this branch yourself, say so and I'll close #280 instead. |
Changes
dist/platforms/ubuntu/steps/return_license.sh: pass-username/-passwordtounity-editor -returnlicensein the serial branch, matchingactivate.shand themac/windows return scripts.
scripts/test-licensing-steps.sh: assert a serial return carries both credentials.The problem
On Ubuntu, a serial-mode license return can never succeed. Every run ends with:
activate.shlaunches the editor with-serial/-username/-passwordand logsUser *** logged in successfully.return_license.shlaunches a fresh editor and afresh licensing client with no credentials at all, so it has no access token and cannot
release the entitlement. The seat is then held until Unity expires it server-side.
Because
Access token is unavailableandSerial number unavailableare both inUNITY_LICENSE_RETURN_TRANSIENT_PATTERN, this permanent auth failure is also retried withthe full 20s + 40s + 80s backoff before giving up — 146 seconds per run, every run.
This is a one-platform regression, not a new feature
Every other return script in the repo already passes these flags:
-username/-passworddist/platforms/mac/steps/return_license.shdist/platforms/windows/steps/return_license.ps1dist/platforms/windows/return_license.ps1plugins/unity/**/platforms/ubuntu/return_license.sh(vendored, pre-extraction)dist/platforms/ubuntu/steps/return_license.shThe windows script's own comment already states the rule this restores:
The pre-extraction Ubuntu copy still vendored under
plugins/unity/passes themunconditionally, so Ubuntu had this behaviour for years and lost it when the steps script
was extracted.
Verification
Same image, same container, same scripts — only these two flags differ.
Before (current
main, four attempts over 146s):After (this branch, sourcing the real
activate.sh+return_license.shwithdist/platforms/ubuntu/stepsmounted at/stepsinunityci/editor:ubuntu-6000.3.8f1-windows-mono-3):4.5 seconds, first attempt, no backoff.
Unit tests:
scripts/test-licensing-steps.shreports 60 passed with the fix. With thechange to
return_license.shreverted and the new assertions kept, exactly the two newassertions fail (58 passed, 2 FAILED) — nothing else moves.
Version coverage
Unity documents
-returnlicenseas taking-username/-passwordidentically across everyline in this repo's test matrix — checked 2018.4, 2019.4, 2020.3, 2022.3 and 6000.x, spanning
both the pre-entitlement ULF system and Unity 6 licensing:
https://docs.unity3d.com/Manual/ManagingYourUnityLicense.html
Checklist
Summary by CodeRabbit